1

jQuery (または任意のライブラリ) を使用せずに、イベントに「名前を付ける」方法で、後でそのイベントだけを切り離すことができます。たとえば 1 つの要素に 3 つのクリック イベントがあります。

target1.addEventListener(click, callback1, false);
target1.addEventListener(click, callback2, false);
target1.addEventListener(click, callback3, false);

callback2 だけをアンバインドしたい。私はフォールバックには関心がありません。私はこれが簡単であることを知っていますが、jQueryの外部でこれに関する資料を見つけることができません(間違った言い回し、idkを使用している可能性があります)。

4

1 に答える 1

1

イベント リスナーを保存してから、次の場所で使用する必要があります。 element.removeEventListener(type, listener, useCapture)

var div = document.getElementById('div');
var listener = function (event) {
  /* do something here */
};
div.addEventListener('click', listener, false);
div.removeEventListener('click', listener, false);

なぜあなたはjQueryを使わないのですか?

以下のリンクはドキュメントとコード サンプルです: https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener

于 2012-11-02T17:12:54.273 に答える