要素置換を行わないイベント リスナーの削除
JavaScript では、addEventListener メソッドを使用して追加された匿名イベント リスナーは、元のイベント リスナーの知識がなければ直接削除できません。関数リファレンス。
変数への代入:
回避策の 1 つは、匿名関数をイベント リスナーに追加する前に変数に代入することです:
<code class="js">const myEventHandler = function() { // Your code here }; element.addEventListener(event, myEventHandler, false);</code>
その後、変数への参照を削除することでイベント リスナーを削除できます:
<code class="js">element.removeEventListener(event, myEventHandler);</code>
オブジェクトへの保存:
別の方法は、メイン オブジェクト内のオブジェクトの匿名イベント ハンドラー:
<code class="js">mainObject.eventHandlers = { [event]: function() { // Your code here } }; element.addEventListener(event, mainObject.eventHandlers[event], false);</code>
オブジェクトを反復処理して適切なプロパティを削除することで、イベント リスナーを削除できます:
<code class="js">for (const event in mainObject.eventHandlers) { element.removeEventListener(event, mainObject.eventHandlers[event]); }</code>
注: イベント ハンドラーを削除しても、それが今後トリガーされなくなるだけであることに留意することが重要です。すでに発生したイベントはすべて、ハンドラーを引き続き実行します。
以上が要素を置換せずに匿名イベント リスナーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。