0

バインドを解除せずにjquery .click関数を「無効」または「一時停止」する方法はありますか? 関数をバインドしたままにしたいのですが、起動させたくありません。その後、後で再度有効にしたいと思います。

この場合、バインドされているコントロールを無効にするだけでは不十分です。

4

1 に答える 1

1

より高い変数スコープでフラグを設定し、フラグがオンの場合にのみハンドラーを実行できます。簡単な例を次に示します。

$(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 イベント処理を一時的に抑制するのと同様のソリューションです。

于 2012-10-24T17:52:56.910 に答える