Подтвердить что ты не робот

Которая является лучшей библиотекой событий Javascript Keyboard. (Горячие клавиши, ярлыки)

Я хочу создать форум bbs, который использует много событий Keyboard,

так что это лучшая библиотека событий клавиатуры,

спасибо

4b9b3361

Ответ 1

Еще один, чтобы бросить в микс. Недавно я выпустил один под названием Mousetrap. Вы можете проверить примеры на http://craig.is/killing/mice

Ответ 2

Попробуйте 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. Он входит в эфир глобальной библиотекой или модулем AMD для RequireJS.

Здесь представлено видеоролик.

Теперь перестаньте беспокоиться о клавиатуре и закодировать свое приложение.;)

Ответ 3

Из того, что я видел, Mousetrap - единственная библиотека, которая позволяет вам указывать ключевые последовательности, а не комбинации. Это очень удобно для моего приложения.

Ответ 6

Множество библиотек 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 и позволяет пользователю нажимать клавишу клавиатуры для изменения вкладок, вместо того, чтобы щелкать сами вкладки.

Это, конечно, может сделать гораздо больше. Это простой пример того, как это работает.