这是一些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以同样的方式被触发。
答案 0 :(得分:0)
根据:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
当您按d键时,您的代码检测到正在释放CTRL键。这不是您的机器特有的,这是您的外围设备或机器上运行的恶意软件或执行过多代码所特有的。
关于事件处理程序:
addEventHandler方法有第三个参数,称为useCapture,它处理捕获或冒泡阶段的执行顺序。 一旦触发事件,就会触发捕获阶段。 在触发事件退出时触发冒泡阶段。