ホームページ  >  記事  >  ウェブフロントエンド  >  要素を置換せずにJavaScriptで匿名イベントリスナーを削除する方法はありますか?

要素を置換せずにJavaScriptで匿名イベントリスナーを削除する方法はありますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-18 16:47:03779ブラウズ

Is There a Way to Remove Anonymous Event Listeners in JavaScript Without Replacing the Element?

匿名イベント リスナーの削除

JavaScript では、匿名関数を使用してイベント リスナーが DOM 要素に追加されることがよくあります。ただし、要素を置換せずにこれらのイベント リスナーを削除するのは難しい場合があります。

質問

次のように追加されたイベント リスナーを削除する方法はありますか:

element.addEventListener(event, function(){/* do work here */}, false);

...要素を置換せずに?

回答

残念ながら、参照を保存しない限り、匿名イベント リスナーを完全に削除することはできません。

解決策

1 つのアプローチは、要素自体ではなく、特定のオブジェクトにイベント リスナーを追加することです。たとえば、すべてのイベント リスナーを管理する「MyListener」オブジェクトを作成できます。その後、イベント リスナーが必要なくなったら、「MyListener」オブジェクトからイベント リスナーを削除するだけです。

次に例を示します:

// Create a "MyListener" object
var myListener = {
  events: []
};

// Add an event listener to the "MyListener" object
myListener.add("click", function(){/* do work here */}, false);

// Remove the event listener from the "MyListener" object
myListener.remove("click");

以上が要素を置換せずにJavaScriptで匿名イベントリスナーを削除する方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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