在多个场景/事件的jquery中检测单个按键事件上的多个键

时间:2018-04-03 08:12:14

标签: jquery keypress keyboard-events

我从Detect multiple keys on single keypress event in jQuery

获取了此参考代码

在这个参考文献中提到了一个按下多个键的事件,我又添加了一个事件,但是我遇到了问题,就是当我试图通过按下它的键来调用第二个事件时,前一个事件是在按下该场景/事件的第一个键之后触发(虽然我无法按下第二个事件的所有多个键) 有谁能告诉我如何解决这个问题?

var ctr_b_g_map = {17: false, 66: false, 71: false};
var ctr_q_b_map = {17: false, 81: false, 66: false};
$(document).keydown(function(e) {
if (e.keyCode in ctr_b_g_map) {
    ctr_b_g_map[e.keyCode] = true;
    if (ctr_b_g_map[17] && ctr_b_g_map[66] && ctr_b_g_map[71]) {
        alert("Ctrl + b + g shortcut combination was pressed by JEQUERY");
    }
}//end of if inside keydown
else if (e.keyCode in ctr_q_b_map) {
    ctr_q_b_map[e.keyCode] = true;
    if (ctr_q_b_map[17] && ctr_q_b_map[81] && ctr_q_b_map[66]) {
        alert("Ctrl + q + b shortcut combination was pressed by JEQUERY");
    }
}

}).keyup(function(e) {
    if (e.keyCode in ctr_b_g_map) {
        ctr_b_g_map[e.keyCode] = false;
    }
   else if (e.keyCode in ctr_q_b_map) {
    ctr_q_b_map[e.keyCode] = false;
}
});

0 个答案:

没有答案