web-dev-qa-db-ja.com

これは最高のJavascriptキーボードイベントライブラリです。(ホットキー、ショートカット)

キーボードイベントを多用した掲示板フォーラムを作りたい、

最高のキーボードイベントライブラリはどれですか、

ありがとう

31
zjm1126

ミックスを投入するためのちょうど別のもの。最近、Mousetrapというものをリリースしました。例は http://craig.is/killing/mice で確認できます。

33
Craig

試してください KeyboardJS

そのシンプルな

KeyboardJS.on('a', function(){ alert('hello!'); });

まだ同じくらい柔軟

var bindInstance = KeyboardJS.on('ctrl + a, ctrl + b, c', function(event, keysPressedArray, keyComboString){

    //you get the event object
    console.log('event object', event);

    //you get the keys pressed array
    console.log('keys pressed', keysPressedArray);

    //you get the key combo string
    console.log('combo pressed', keyComboString);

    console.log('I will fire when \'ctrl + a\' or \'ctrl +b\' or \'c\' is pressed down');

    //block event bubble
    return false;

}, function(event, keysPressedArray, keyComboString) {

    console.log('I will fire on key up');

    //block event bubble
    return false;

});

を呼び出すことでバインディングをクリアできます

bindInstance.clear();

特定のキーを使用してすべてのバインドをクリアできます

KeyboardJS.clear('a, b');

そのオープンソースであり、 Github で入手できます。これは、グローバルライブラリまたはRequireJS用のAMDモジュールで提供されます。

これが 紹介ビデオ です。

そこで、キーボードについて心配するのをやめて、アプリをコーディングします。 ;)

12
Robert Hurst

[〜#〜] keypress [〜#〜] はゲーム入力に焦点を当てており、他の機能の中でも特に、修飾子として任意のキーをサポートします。また、 Meteor用に事前にパッケージ化されています です。

2
user3834558

私が見たところ、Mousetrapは、組み合わせではなくキーシーケンスを指定できる唯一のライブラリです。これは私のアプリケーションにとって非常に便利でした。

2
Michael Cohen

これはjqueryにかなり適しています。

https://github.com/jeresig/jquery.hotkeys

1
Daniel A. White

多くのJavaScriptライブラリには、キー入力をキャプチャしてそれを有利に使用する方法が豊富に用意されています。それを行うためのライブラリを見つけることができ、それ以外は何もできないのは良いことです。しかし、私はそこではあまり経験がありません。

私はしばらくの間 Ext を使用していて、それらの KeyMap クラスは本当に扱いやすいです。これを使用した簡単な例を次に示します。

new Ext.KeyMap(Ext.getDoc(), {
        key: 'abc',
        alt: true,
        handler: function(k, e) {
            var t = Ext.getCmp('tabpanel');
            switch(k) {
                case 65:
                    t.setActiveTab(0);
                    break;
                case 66:
                    t.setActiveTab(1);
                    break;
                case 67:
                    t.setActiveTab(2);
                    break;
            }
        },
        stopEvent: true
    });

これはクラス Ext.TabPanel を取り、ユーザーがタブ自体をクリックするのではなく、キーボードキーを押してタブを変更できるようにします。

もちろん、これ以上のことができます。これは、それがどのように機能するかの簡単な例です。

1
Stephano