使用 JS / Jquery 组合按键(Escape & Shift +Escape)

Boq*_*Boq 3 javascript jquery javascript-events

在 js/jquery 中有没有办法让这两种按键组合?

ESCape 键和 SHIFT + ESCape 键

当我使用它实现它时

    document.onkeydown = function(e){if (e == null) {keycode = event.keyCode;}
    else         {keycode = e.which;}
    if(keycode == 27){closeAll();}}

    //upon pressing shift + esc
    $(document).bind('keypress',function(event)
    {
          if(event.which === 27 && event.shiftKey)
        {
      closetogether();
       }

    });
Run Code Online (Sandbox Code Playgroud)

转义按钮工作正常,但我认为带有 shift + esc 的那个按钮很困惑,因为它什么都不做。不要担心,当我将组合键 27 更改为 90 (z) 时,该功能可以正常工作,例如它工作得很好。

有人可以选择我更好的方式吗?

Dar*_*JDG 5

为什么不keydown使用 jQuery绑定事件?这样你就已经有了一个规范化的事件变量。您还可以在同一处理程序中检查 shift 键的状态。

这些事件发送回不同的键码。使用keyup/keydown通过扫描码和使用捕捉某些键keypress的字符来捕捉实际文本输入。

$(document).bind('keydown', function(event) {
    if(event.which === 27){
        if(event.shiftKey){
            closetogether();
        } else {
            closeAll();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)