我究竟做错了什么?调用函数后似乎没有清除数组。
如果您先按ctrl+c然后ctrl+alt+c第二个功能将不会调用(仅当您按第二次时)。
var key = function (keys, fn) {
var arr = [];
$(document).on({
keydown: function (e) {
arr.push(e.which);
if (arr.join(', ') === keys) {
fn(e);
arr = [];
}
},
keyup: function (e) {
arr = [];
}
});
};
// ctrl + c
key('17, 67', function (e) {
alert('ctrl+c');
});
// ctrl + alt + c
key('17, 18, 67', function () {
alert('ctrl+alt+c');
});
这是一个小提琴。