次のコマンドでjQueryクリックイベントを無効にします。
$("#button").click( function () { return false;}
どうすれば有効にできますか?意図は、ダブルクリックを避け、トリガーする関数を複数回実行することです。他のボタンを押したときのイベントを復元したい。
次のコマンドでjQueryクリックイベントを無効にします。
$("#button").click( function () { return false;}
どうすれば有効にできますか?意図は、ダブルクリックを避け、トリガーする関数を複数回実行することです。他のボタンを押したときのイベントを復元したい。
また、使用することができますone
:
$("#button").one('click', function () { /* code here */ });
イベントは、一度呼び出された後、それ自体のバインドを解除します。
いくつかのオプションがありますが、私は次のものが一番好きです。
//disable
$("#button").bind('click', function() { return false; });
//enable
$("#button").unbind('click');
ボタンをもう一度クリックして、他のコールバック関数にバインドすることもできます。最後に、実際preventDefault
の状況に応じて、クリック イベントからイベントを呼び出すことをお勧めします。#button
$("#button").bind('click', function(e) {
e.preventDefault();
return false;
});
j08691 が指摘したように、jQuery 1.7 以降では、次のようになります。
$("#button").on('click', function(e) {
e.preventDefault();
return false;
});
もしあなたがそうするなら:
$("#button").unbind("click");
ボタンが再び機能するようになります。バインド解除機能は、選択した要素から登録済みのイベント ハンドラーを削除します。引数を渡さない場合、登録されているすべてのイベントが削除されます。
編集: コメントに記載されているように、on メソッドと off メソッドを使用できるようになりました。
$("#button").off("click")
クリックを無効にするには:
$("#button").on("click")
それらを再び有効にするには