-1
イベントリスナーに関連付けられた関数をオーバーライドしようとしていますが、イベントがトリガーされたときに古いものが呼び出されます。オーバーライド関数式のイベントリスナーが機能しない
var element;
var newHandler =() => {
if((element = this.getElementsByClassName('someClass')[0]) != null){
this.removeEventListener('DOMNodeInserted', handler)
element.insertAdjacentHTML('beforeend', "<a>Hello</a>");
}
}
var handler =() => {
handler = newHandler;
var scriptTag = document.createElement('script');
scriptTag.src = "someScript.js";
document.head.appendChild(scriptTag);
}
document.addEventListener('DOMNodeInserted', handler);
本当にありがとうございます。 ありがとう!
'handler = newHandler'は' addEventListener'に渡されたイベントリスナーをどのように変更すると思いますか? – zzzzBov
コメントありがとうございます。私は "ハンドラ= newHandler"は仕事をする必要がありますと思う。 –
多分私ははっきりしていなかった、私はあなたが*それが動作すると思うことを理解する。私は*なぜ*あなたがそれがうまくいくと思いますか尋ねていました。いずれにしても、(既に見てきたように)うまく動作せず、JSイベントAPIの詳細を知る必要があります。 – zzzzBov