一部のサードパーティプラグインは、eventListener
をサイトに添付します。アタッチされた関数を知らずにeventListenerを削除する方法。
私はこれを参照します removeEventListener しかし、これを削除する手がかりを得ることができません。
例:getEventListeners(window)
は添付されたイベントを示します。しかし、window.removeEventListener("eventname")
を使用してイベントを削除しようとすると、その関数を知らないと機能しません。
助けてください、よろしくお願いします。
getEventListeners(window)
は、イベントとその登録済みイベントリスナーのマップを返します。
したがって、たとえばDOMContentLoaded
イベントの場合、多くのイベントリスナーを持つことができます。削除するリスナーのインデックスがわかっている場合(または存在する場合)、次のことができます。
var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded",
eventlistener.listener,
eventlistener.useCapture);
残念ながら、それはできません。 needremoveEventListener
で削除するには、イベントハンドラー関数への参照が必要です。
その参照を取得できない場合の唯一のオプションは、そのNode
を完全に置き換えることです。