キーボードイベントを多用した掲示板フォーラムを作りたい、
最高のキーボードイベントライブラリはどれですか、
ありがとう
ミックスを投入するためのちょうど別のもの。最近、Mousetrapというものをリリースしました。例は http://craig.is/killing/mice で確認できます。
試してください 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モジュールで提供されます。
これが 紹介ビデオ です。
そこで、キーボードについて心配するのをやめて、アプリをコーディングします。 ;)
[〜#〜] keypress [〜#〜] はゲーム入力に焦点を当てており、他の機能の中でも特に、修飾子として任意のキーをサポートします。また、 Meteor用に事前にパッケージ化されています です。
私が見たところ、Mousetrapは、組み合わせではなくキーシーケンスを指定できる唯一のライブラリです。これは私のアプリケーションにとって非常に便利でした。
これはjqueryにかなり適しています。
多くの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 を取り、ユーザーがタブ自体をクリックするのではなく、キーボードキーを押してタブを変更できるようにします。
もちろん、これ以上のことができます。これは、それがどのように機能するかの簡単な例です。