javascript - 添加事件监听器监听 keydown
问题描述
每当单击 ESC 按钮时,我都想运行一个方法。在 onkeypress 事件文档中,我读到我将不得不使用 keydown
注意:onkeypress 事件并非针对所有浏览器中的所有键(例如 ALT、CTRL、SHIFT、ESC)触发。要仅检测用户是否按下了某个键,请改用 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>
为什么第二个代码片段不像第一个片段那样对按键做出反应?
解决方案
推荐阅读
- scala - Type Lambda on context bound 和类型别名的作用
- node.js - 从 ColdFusion 加密解密 NodeJS 中的 AES/CBC/PKCS5Padding
- javascript - 如何忽略 date-fns 中分钟和子午线之间的空格?
- javascript - 如何在IOS中播放和链接html5视频?
- angular - syncfusion ejs调度程序角度
- firebase - Firebase Auth 中用户的 UID 是否更改?
- ruby-on-rails-5 - Rails 5 活动记录查询未显示 left_outer_joins 属性
- pytorch - PyTorch:如何检查训练过程中是否有一些权重没有改变?
- javascript - 动态 CSS 网格生成
- python - python 注册表中缺少图形操作