4

jquery.hotkeys.jsを使用して2つのキーボードモードでプログラムを作成していますが、すべてのkeydownイベントのバインドを解除すると、速度が低下し、点滅します。これを行うためのより良い方法はありますか?

function bindAll() {
    //bind all keystroke events
    $(document).bind('keydown','a', function(evt) {
    //...
    }
    $(document).bind('keydown','b', function(evt) {
    //...
    }
    //etc...
}

function unbindAll() {
     $(document).unbind('keydown');
     return true;
} //end unbinding all keystrokes
4

1 に答える 1

6

jQueryは、イベントの名前空間を作成する可能性を提供します。それは次のようになります:

$(document).bind('keydown.mySpace', function(evt) {
});
$(document).bind('keyup.mySpace', function(evt) {
});

// etc.

.unbind()名前空間に追加されたすべてのイベントは、次のようになります。

$(document).unbind('.mySpace');

あなたが言及したプラグインを私は知りませんが、ドキュメントまたはさらに良いソースを調べる必要があります。適切に設計されている場合は、その目的でjQueryイベント名前空間を使用できるはずです。

于 2011-02-15T17:34:53.943 に答える