ホームページ >ウェブフロントエンド >jsチュートリアル >要素を置換せずに匿名イベント リスナーを削除するにはどうすればよいですか?

要素を置換せずに匿名イベント リスナーを削除するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-18 16:44:29932ブラウズ

How to Remove Anonymous Event Listeners Without Replacing Elements?

要素置換を行わないイベント リスナーの削除

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。