addEvent を使用してクリック イベントを要素に複数回バインドします。すべてのバインドされたイベントを一度にキャンセルする方法はありますか?
ringa_lee2017-05-19 10:44:35
いいえ、バインディングを 1 つずつ削除することしかできません。DOM レベル 2 は removeEventListener
,IE中的是attachEvent
です。
匿名関数はバインドを解除できないため、名前付き関数のみバインドを解除できます。
すべてのイベントハンドラーを一度に削除する方法が JQuery
にあります:
JQ では、unbind
を使用してすべてのバインドを解除できます。
パラメータがない場合は、バインドされたイベントをすべて削除します。
イベント タイプが指定されている場合、そのタイプのバインドされたイベントのみが削除されます。
バインド時に渡される処理関数が第二引数として使用されている場合、この関数のみが削除されます。
================================================ === =========
今のところ私が思いつく方法はこれだけです、お役に立てれば幸いです!
世界只因有你2017-05-19 10:44:35
element.addEventListener("mouseover", myFunction);
element.removeEventListener("mousemove", myFunction); バインドされたイベントを削除しますクロスブラウザ互換ソリューション
var x = document.getElementById("myBtn");
if (x.addEventListener) { // IE 8 以前を除くすべての主要ブラウザ
リーリー
リーリー
}