一次检测多个按键,并且在按下其他按键时不响应

时间:2019-07-20 10:49:24

标签: javascript keypress

我有一个管理面板,我想设置一个键盘快捷方式,当用户同时按下{A + D + M + N}时,会将用户重定向到该面板。

我有此代码:

document.onkeypress = function (e) {
    e = e || window.event;
    // use e.keyCode
};

但是它仅适用于一键操作,不适用于多键检测。

此外,我不会只检测(A + D + M + N),并且如果用户按下了键盘上的所有按钮,或者仅检测到(A + D + M + N + X + Z), ,它应该不会响应。

有什么想法或框架可以实现吗?

1 个答案:

答案 0 :(得分:0)

keyPressListener,是我为此开发的一个库。

首先,由于您只想匹配首选键而不匹配其他任何键,因此请确保将ignoreOtherInput设置为false

keyPressListener.config({ignoreOtherInput: false});

第二,现在您可以调用侦听器功能:

keyPressListener.when('A+D+M+N', function(){
  window.location.href = '/admin-panel'; //User pressed (A+D+M+N), go to admin panel
});

因此,如果用户按下(A + D + M + N),它将把他重定向到管理面板 并且如果他按下了键盘上的所有按钮,或者按下了(Ctrl + A + D + M + N),它将不会响应。

更多:@ https://github.com/RyadPasha/keyPressListener