检测jQuery keypress中按下了什么键

Kev*_*nT. 3 jquery html5 document keypress

我想在我的一个页面中使用热键.但是,似乎我的热键中唯一可以检测到的键是Enter键.

$(document).keypress(function(e) {
    var key = e.which;
    switch (key)
    {
        case 72:
          alert("H");
          break;
        case 82:
          alert("R");
          break;
        case 66:
          alert("B");
          break;
        case 13:
          alert("ENTER");
          break;
        default:
          alert("Invalid");
    }
});
Run Code Online (Sandbox Code Playgroud)

参考密钥代码值:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

Cod*_*gue 5

根据MDN(通过jQuery docs for event.which),e.which返回Unicode字符代码,因此H可以是72或104(h),具体取决于文本大小写.

在按键事件中,按下的键的Unicode值存储在keyCode或charCode属性中

示例小提琴