匿名イベント リスナーの削除
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 サイトの他の関連記事を参照してください。