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

时间:2011-05-27 06:37:50

标签: 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();
       }

    });

逃生按钮工作得很好,但是那个带有shift + esc的人会感到困惑我觉得因为它什么都不做。不要担心该功能的工作方式与我将组合键27更改为90(z)时相比,它可以正常工作。

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

1 个答案:

答案 0 :(得分:4)

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

这些事件会发回不同的密钥代码。使用keyup/keydown按扫描码捕获某些键,并使用keypress捕获按字符输入的实际文本。

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