私は何が間違っているのですか?関数が呼び出された後、配列がクリアされていないようです。
最初に押すctrl+cとctrl+alt+c、2番目の関数は呼び出されません(2回押す場合のみ)。
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');
});
これがフィドルです。