检测jQuery keypress中按下了什么键

时间:2013-09-18 12:39:28

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

关键代码值的引用:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

1 个答案:

答案 0 :(得分:5)

根据MDN(通过event.which的jQuery文档),e.which返回Unicode character codes,因此H可以是72或104({{ 1}})取决于文本案例。

  

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

Example fiddle