代码之家  ›  专栏  ›  技术社区  ›  KevinT.

检测jQuery按键中按下了什么键

  •  3
  • KevinT.  · 技术社区  · 13 年前

    我想在我的一个页面中使用热键。然而,似乎在我的热键中唯一可以检测到的键是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 回复  |  直到 13 年前
        1
  •  5
  •   CodingIntrigue    13 年前

    根据 MDN (通过的jQuery文档 event.which ), e.which 退货 Unicode character codes 所以 H 可以是72或104( h )取决于文本大小写。

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

    Example fiddle

    推荐文章