У меня есть веб-приложение, над которым я работаю, и я бы хотел, чтобы пользователь мог динамически определять и запускать горячие клавиши. Я надеюсь, что кто-то может мне помочь?
Я создал JSFiddle ЗДЕСЬ с соответствующим HTML.
Вот мой JavaScript:
// Assign Hotkey (this seems to be working)
$('input.hotkey').keydown( function(event) {
var hkey = event.keyCode;
if ( hkey == $('span#hk').text()){
alert('This key is already in use');
} else
$(this).parent().parent().prev().find('span#hk').text(hkey);
});
// Fire Hotkey (the problem might be here?)
$(document).not('input').keydown( function (event) {
var hkey = event.keyCode;
if (hkey == $('span#hk').text()){
$("span#hk:contains("+hkey+")").parent().click();
}
});
// Play Selected Track
$('#track').live('click', function () {
// Fake Function
var title = $('#title', this).text();
alert(title + ' is playing...');
});
Примечание. Я уже использовал клавиши со стрелками «пробел» и «влево / вправо» в качестве глобальных горячих клавиш - есть ли способ защитить / предотвратить их назначение?
Есть ли лучший селектор для использования, чем .not ('input'), чтобы предотвратить запуск трека во время ввода?
Спасибо за помощь!