如何检查键盘上是否发布了特定键?

时间:2016-05-24 17:15:29

标签: javascript

我想检查是否已在javascript中按下/释放了转义键。

我看到的就是这样:

document.addEventListener('keyup', function(event) {
   //returns a number for key  
  console.log(event.keyCode);   
});

然而,当我进入Mozilla时,它说'.keyCode'被弃用,而是使用'.key'。我做了什么,但当我将代码更改为:

document.addEventListener('keyup', function(event) {
   //returns a number for key  
  console.log(event.key);   
});

它在控制台'undefined'中说不起作用。有什么想法吗?

Mozilla也是最好的去处,因为作为初学者,我发现很难理解。感谢

2 个答案:

答案 0 :(得分:0)

问题是,您应该将听众添加到document,并将其添加到window。例如,

window.addEventListener('keyup', function(ev) {
    console.log(ev.key);
});

答案 1 :(得分:0)

您需要将事件侦听器附加到窗口。浏览器可能会有所不同,但它对我有用。

 window.addEventListener("keyup", function (event) {
    
      if(event.key === "Escape"){
         console.log("Escape was released.");
      }
    
      // Consume the event for suppressing "double action".
      event.preventDefault();
    }, true);

<强> Try it on CodePen!