我有一个正在开发的网络应用程序,我希望用户能够动态定义和触发热键。我希望有人可以帮助我吗?
我用相关的 HTML创建了一个JSFiddle HERE 。
这是我的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') 更好的选择器来防止在输入输入期间触发轨道?
谢谢您的帮助!