検索

ホームページ  >  に質問  >  本文

JavaScript - jsキャンセルイベントバインディング

addEvent を使用してクリック イベントを要素に複数回バインドします。すべてのバインドされたイベントを一度にキャンセルする方法はありますか?

黄舟黄舟2750日前621

全員に返信(3)返信します

  • 为情所困

    为情所困2017-05-19 10:44:35

    イベントを削除

    返事
    0
  • ringa_lee

    ringa_lee2017-05-19 10:44:35

    いいえ、バインディングを 1 つずつ削除することしかできません。DOM レベル 2 は removeEventListener,IE中的是attachEvent です。
    匿名関数はバインドを解除できないため、名前付き関数のみバインドを解除できます。

    すべてのイベントハンドラーを一度に削除する方法が JQuery にあります:

    リーリー

    JQ では、unbind を使用してすべてのバインドを解除できます。

    1. パラメータがない場合は、バインドされたイベントをすべて削除します。

    2. イベント タイプが指定されている場合、そのタイプのバインドされたイベントのみが削除されます。

    3. バインド時に渡される処理関数が第二引数として使用されている場合、この関数のみが削除されます。

    ================================================ === =========
    今のところ私が思いつく方法はこれだけです、お役に立てれば幸いです!

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:44:35

    element.addEventListener("mouseover", myFunction);

    element.removeEventListener("mousemove", myFunction); バインドされたイベントを削除します

    クロスブラウザ互換ソリューション

    var x = document.getElementById("myBtn");

    if (x.addEventListener) { // IE 8 以前を除くすべての主要ブラウザ
    リーリー

    } else if (x.attachEvent) { // IE 8 以前

    リーリー

    }

    返事
    0
  • キャンセル返事