Javascript Chrome钥匙事件alt钥匙锁

Javascript Chrome钥匙事件alt钥匙锁,javascript,google-chrome,Javascript,Google Chrome,在chrome中,按alt键似乎会锁定keydown/keyup回调。 要复制,请在任何页面的js控制台中输入以下内容: var a = function(e){ console.log(e); }; document.body.onkeydown = a; document.body.onkeyup = a; 然后单击页面并按键,您应该会在控制台中看到按键按下和释放事件。 但如果反复按alt键,您会注意到每按一次键,您只会看到事件。事实上,如果按alt键一次,然后按其他键,事件将被吞没。 我

在chrome中,按alt键似乎会锁定keydown/keyup回调。 要复制,请在任何页面的js控制台中输入以下内容:

var a = function(e){
console.log(e);
};
document.body.onkeydown = a;
document.body.onkeyup = a;
然后单击页面并按键,您应该会在控制台中看到按键按下和释放事件。 但如果反复按alt键,您会注意到每按一次键,您只会看到事件。事实上,如果按alt键一次,然后按其他键,事件将被吞没。 我疯了吗?这是Wtf吗? 为了澄清这一点,firefox中的一切似乎都很好

编辑:在linux上的chromium上工作正常,在两台windows计算机上不工作,一台7,一台8当您按Alt时,焦点会变为右上角的三栏菜单图标,这样按空格键就会打开所述菜单

(第二次按Alt键将使焦点返回到网页。)

如果不希望出现这种行为,可以尝试在
keydown
事件中使用
returnfalse
event.preventDefault()
。这可能有效,也可能无效,具体取决于浏览器对Alt键的限制

在我的Windows7上,当你按下Alt键时,Firefox会打开文件、编辑、查看等菜单。如果你没有在你的屏幕上看到这种行为,我会感到惊讶

按Alt键时,焦点会变为右上角的三栏菜单图标,这样按空格键将打开所述菜单

(第二次按Alt键将使焦点返回到网页。)

如果不希望出现这种行为,可以尝试在
keydown
事件中使用
returnfalse
event.preventDefault()
。这可能有效,也可能无效,具体取决于浏览器对Alt键的限制

在我的Windows7上,当你按下Alt键时,Firefox会打开文件、编辑、查看等菜单。如果你没有在你的屏幕上看到这种行为,我会感到惊讶