イベントリスナーを一時的に無効にする方法はありますか?
私の場合、addEventListener / attachEventを使用して要素にマウスオーバー/マウスアウトイベントを作成するサードパーティライブラリ(jQuery中心ではない)があります。
特定の状況下では、別のイベントが別の要素で発生し、それらのイベントリスナーを無効にする必要があります。これまでの私の解決策は、単にunbind
マウスオーバー/マウスアウトすることでした。通常、このイベントによってページが更新されるため、これは正常に機能します。
ただし、ページが更新されないというエラー(検証エラーを考えてください)が時々発生する可能性があるため、マウスオーバー/マウスアウトイベントリスナーを再接続する必要があります。
役立つ情報
マウスオーバー/マウスアウトイベントリスナーが作成され、サードパーティライブラリ内にアタッチされるため、イベントを変数に割り当てて、その方法でバインド/バインド解除することはできません(これを行うにはAFIKが最適な方法です)。
アップデート
私はもともと尋ねていました
jQueryに、オブジェクトにすでに割り当てられているイベントリスナーを取得する方法はありますか?
それ以来、addEventListener / attachEventによって割り当てられたイベントにアクセスできないことがわかりました。JavaScriptのattachEvent()/ addEventListener()で追加されたイベントにアクセスします。