检测不是在JavaScript中“输入”的按键事件

时间:2018-10-20 15:55:29

标签: javascript

我想检测用户何时按下了不是“输入”按钮的键。 例如:如果用户按下“ Shift”键,它将执行某些操作。 我有以下代码,但无法正常工作:

$(document).keypress(function(e) {
var keycode = (e.keyCode ? e.keyCode : e.which);
if (keycode!= '13) {
  //do somthing
  }
});

2 个答案:

答案 0 :(得分:2)

KeyboardEvent.keyCodeKeyboardEvent.which均已弃用(我知道这令人困惑)。像这样使用KeyboardEvent.code

$(document).keypress(function(e){
  if(e.code !== "Enter"){
    // Your code here
  }
});

更多信息,请访问MDN

答案 1 :(得分:0)

尝试

<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript">
    $(function() {
      document.onkeydown = function(e) {
        if (!e.shiftKey) {
          alert("You have entered a key that was not shift");
        }
      };

    });
  </script>

</head>

<body>
  Please try to enter a key.
</body>

</html>