添加事件监听器监听按键

时间:2018-08-31 09:46:07

标签: javascript html

每当单击ESC按钮时,我都想运行一个方法。在onkeypress事件文档中,我读到我将必须使用keydown

  

注意:在所有浏览器中,不会为所有键(例如ALT,CTRL,SHIFT,ESC)触发onkeypress事件。要仅检测用户是否已按下某个键,请改用onkeydown事件,因为该事件适用于所有键。

我设法写了一个可行的例子:

document.onkeydown = function (e) {
  if (document.getElementById("fullscreen") !== null) {
    var key = e.which || e.keyCode;
    if (key === 27) {
      alert(1);
    }
  }
}
<div id="fullscreen">test</div>

我们项目中的事件侦听器具有不同的模式,因此我尝试以相同的模式重写它,但是代码在按键时没有反应。

document.getElementById("fullscreen").addEventListener("keydown",
  function (e) {
    var key = e.which || e.keyCode;
    if (key === 27) {
      alert(1);
    }
  });
<div id="fullscreen">test</div>

第二个代码片段为什么不像第一个代码片段那样对按键产生反应?

0 个答案:

没有答案