2016-05-12 30 views
0

在铬中,似乎按下alt键会锁定keydown/keyup回调。 要重现,进入一个js控制台下面的任何页面上:铬键事件ALT键锁

var a = function(e){ 
console.log(e); 
}; 
document.body.onkeydown = a; 
document.body.onkeyup = a; 

然后点击进入页面,按键,你应该可以看到按键并在控制台中释放事件。 但是,如果您反复按alt,您会注意到只会看到每第二次按键的事件。事实上,如果您按下alt一次,然后按其他键,则会吞噬事件。 我疯了吗?这是什么?为了澄清,一切似乎在Firefox中正常工作。

编辑:正常工作铬在Linux上,当你按下不上两个窗口机工作,一个7,一个8

回答

2

Alt键,焦点更改到3条菜单图标右上角,这样按空间就会打开上述菜单。

Chrome Menu button location

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

如果这种行为是不可取的,你可以尝试在你的​​事件return falseevent.preventDefault()。这可能会或可能不会工作,具体取决于Alt密钥上的浏览器限制。

在我的Windows 7上,当您按Alt时,Firefox将打开文件,编辑,查看等菜单。如果你没有看到你的这种行为,我很惊讶。

Firefox menus appear when you press Alt