这是最好的Javascript键盘事件库。(热键,快捷键)

时间:2010-03-01 01:29:55

标签: javascript javascript-events

我想创建一个使用很多键盘事件的bbs论坛,

哪个是最好的键盘事件库,

感谢

8 个答案:

答案 0 :(得分:34)

另一个投入混合。我最近发布了一个名为Mousetrap的产品。您可以在http://craig.is/killing/mice

查看示例

答案 1 :(得分:12)

尝试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模块。

这是一个introduction video

在那里,现在不再担心键盘和代码你的应用程序。 ;)

答案 2 :(得分:2)

据我所知,Mousetrap是唯一允许您指定关键序列而不是组合的库。这对我的申请来说非常方便。

答案 3 :(得分:2)

KEYPRESS专注于游戏输入,并支持任何键作为修饰符,以及其他功能。它也是pre-packaged for Meteor

答案 4 :(得分:1)

这个对于jquery非常好。

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

答案 5 :(得分:1)

许多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,并允许用户按键盘键来更改标签,而不是单击标签本身。

当然,它可以做的远不止这些。这是一个如何工作的简单例子。

答案 6 :(得分:-1)

如果您正在开始并且想要了解热键的工作方式,那么这个更好。

https://github.com/UthaiahBollera/HotkeysInJavascriptLibrary

答案 7 :(得分:-2)

你可以试试这个......

http://unixpapa.com/js/key.html