Javascript 为什么会这样在我的机器上发生奇怪的keyup keydown事件
下面是一些javascript: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); }); 以下是我按下并松开一次键的结
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
关于事件处理程序: addEventHandler方法有第三个参数useCapture,它处理捕获或冒泡阶段的执行顺序。 一旦触发事件,就会触发捕获阶段。
冒泡阶段在触发事件退出时触发。这可能是因为
ctrl
+d
在Chrome中是为页面添加书签的快捷方式,因此页面会失去焦点,书签警报会向上显示,所以控制键卡住?:)处理CTRL键组合事件时,浏览器的行为会有所不同。你的CTRL键卡住了:)我必须说,对于网站上的第一个问题,这是一个写得很好的问题。欢迎来到SOCTRL
+d
是在所有(至少是标准)浏览器(如firefox、chrome、opera、safari等)中为页面添加书签的快捷方式。我在Windows7中对其中6种浏览器的代码进行了测试,从未得到异常结果!对于flash,您是在浏览器中还是在flash ide中测试swf时谈论flash player单机版?这些结果仅来自按下和释放D键。Ctrl键实际上从未被触摸过。如果我按下并释放Ctrl键,结果将显示我按下Ctrl键两次,然后释放Ctrl键两次。