バインドを解除せずにjquery .click関数を「無効」または「一時停止」する方法はありますか? 関数をバインドしたままにしたいのですが、起動させたくありません。その後、後で再度有効にしたいと思います。
この場合、バインドされているコントロールを無効にするだけでは不十分です。
バインドを解除せずにjquery .click関数を「無効」または「一時停止」する方法はありますか? 関数をバインドしたままにしたいのですが、起動させたくありません。その後、後で再度有効にしたいと思います。
この場合、バインドされているコントロールを無効にするだけでは不十分です。
より高い変数スコープでフラグを設定し、フラグがオンの場合にのみハンドラーを実行できます。簡単な例を次に示します。
$(document).ready(function () {
var execHandler = false;
$('input').click(function (e) {
if (execHandler) {
//do stuff
}
e.preventDefault();
return false;
});
$('button#toggleHandler').click(function (e) {
execHandler = !execHandler;
e.preventDefault();
return false;
})
});
jQuery イベント処理を一時的に抑制するのと同様のソリューションです。