javascript – 为什么会发生这种情况? – 我的机器上奇怪的keyup keydown事件
作者:互联网
这是一些javascript:
window.addEventListener("keydown", function(event) {
console.log("keydown: " + event.keyCode);
});
window.addEventListener("keyup", function(event) {
console.log("keyup: " + event.keyCode);
});
这是我按下并释放一次键的结果:
keyup: 17 keydown: 68 keyup: 17 keyup: 68
这是我的机器特有的.为什么会这样?
注意:我在flash中发现了这种奇怪之处,其中KeyboardEvents以相同的方式被触发.
解决方法:
根据:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
> keycode 17 = ctrl
> keycode 68 = d
当您按d键时,您的代码检测到正在释放CTRL键.这不是特定于您的计算机,这特定于您的外围设备或计算机上运行的恶意软件或正在执行的过多代码.
关于事件处理程序:
addEventHandler方法有第三个参数,称为useCapture,它处理捕获或冒泡阶段的执行顺序.
一旦触发事件,就会触发捕获阶段.
在触发事件退出时触发冒泡阶段.
标签:javascript,actionscript-3,keyboard-events 来源: https://codeday.me/bug/20190711/1434330.html