我有一个使用热键的网页。
function HOTKEYS(){
var keys = {};
$(document).keydown(function(e) {
keys[e.which] = 1;
if (keys[80] == 1 && keys[18] == 1) {
$('input[name=customer]').focus();
}
if (keys[65] == 1 && keys[18] == 1) {
$('input[name=product]').focus();
}
if (keys[86] == 1 && keys[18] == 1) {
add_conn();
}
if (keys[83] == 1 && keys[18] == 1) {
edit_price();
}
console.log(keys);
});
$(document).keyup(function(e){
delete keys[e.which];
});
}
热键正常工作,直到其中一个热键打开一个激活load()
功能的事件。之后,函数HOTKEYS()
停止工作。
有没有办法在.load()事件之后再次包含函数HOTKEYS()来修复它?
答案 0 :(得分:0)
(function(){
var keys = {};
$(document).on('keydown',function(e) {
keys[e.which] = 1;
if (keys[80] == 1 && keys[18] == 1) {
$('input[name=customer]').focus();
}
if (keys[65] == 1 && keys[18] == 1) {
$('input[name=product]').focus();
}
if (keys[86] == 1 && keys[18] == 1) {
add_conn();
}
if (keys[83] == 1 && keys[18] == 1) {
edit_price();
}
console.log(keys);
});
$(document).keyup(function(e){
delete keys[e.which];
});
}());
这样做。