Javascript 为什么会这样在我的机器上发生奇怪的keyup keydown事件

Javascript 为什么会这样在我的机器上发生奇怪的keyup keydown事件,javascript,actionscript-3,keyboard-events,Javascript,Actionscript 3,Keyboard Events,下面是一些javascript: window.addEventListener("keydown", function(event) { console.log("keydown: " + event.keyCode); }); window.addEventListener("keyup", function(event) { console.log("keyup: " + event.keyCode); }); 以下是我按下并松开一次键的结

下面是一些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 密钥:17 按键:68 密钥:17 密钥:68 这是我的机器特有的。为什么会发生这种情况

注意:我在flash中发现了这种奇怪之处,键盘事件以同样的方式触发。

根据:

  • 键代码17=ctrl
  • 键码68=d
当您按下d键时,您的代码检测到CTRL键正在被释放。这不是特定于您的计算机,而是特定于您的外围设备或在您的计算机上运行的恶意软件或正在执行的过量代码


关于事件处理程序:

addEventHandler方法有第三个参数useCapture,它处理捕获或冒泡阶段的执行顺序。 一旦触发事件,就会触发捕获阶段。
冒泡阶段在触发事件退出时触发。

这可能是因为
ctrl
+
d
在Chrome中是为页面添加书签的快捷方式,因此页面会失去焦点,书签警报会向上显示,所以控制键卡住?:)处理CTRL键组合事件时,浏览器的行为会有所不同。你的CTRL键卡住了:)我必须说,对于网站上的第一个问题,这是一个写得很好的问题。欢迎来到SO
CTRL
+
d
是在所有(至少是标准)浏览器(如firefox、chrome、opera、safari等)中为页面添加书签的快捷方式。我在Windows7中对其中6种浏览器的代码进行了测试,从未得到异常结果!对于flash,您是在浏览器中还是在flash ide中测试swf时谈论flash player单机版?这些结果仅来自按下和释放D键。Ctrl键实际上从未被触摸过。如果我按下并释放Ctrl键,结果将显示我按下Ctrl键两次,然后释放Ctrl键两次。