以下のコードで[].forEach.call内の関数が働かない理由と、どうしたら働くのかを教えていただけますと幸いです。
html
1<!doctype html> 2<html lang="jp"> 3<body> 4 <div class="container"> 5 a 6 </div> 7 <div class="container"> 8 b 9 </div> 10 <div class="container"> 11 c 12 </div> 13 <div class="container"> 14 d 15 </div> 16 <div class="container"> 17 e 18 </div> 19</body> 20<script type="text/javascript" src="test.js" charset="UTF-8"></script> 21</html>
js
1let TEST = function() 2{ 3 this.func_sub = function() 4 { 5 console.log("func_sub"); 6 } 7 8 this.func = function() 9 { 10 this.func_sub(); 11 let span = document.querySelectorAll('div'); 12 [].forEach.call 13 (span, function(s) 14 { 15 s.addEventListener('load', this.func_sub, false); 16 this.func_sub(); 17 } 18 ); 19 } 20} 21let test = new TEST(); 22test.func();
疑問点
- forEach.call内のfunc_subがどちらも働かない理由
- Uncaught TypeError: this.func_sub is not a functionというエラーがthis.func_sub();に対して出るのに、addEventListener内のthis.func_subには出ない理由
- どうやったら、[].forEach.call内でfunc_subを働かせられるのか
以上です。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/26 12:37