我打算对密钥进行响应,所以我开始使用:
window.addEventListener('keydown', function(e) {
alert(e.keyCode)
}, true)
适用于大多数按键。当我按下一个键时,它会提醒键码。 (当然,这不是最终的设计;只是一个测试,看看它是否可以使调试更容易。)
然而,我发现了一些有趣的行为。当我使用空格键时,它确实很奇怪。
当我按空格键时,会出现编号为'32'(空格键代码)的警报。但是,当我释放密钥时,警报会自动关闭!
我发现使用Enter
键,我必须再按一下才能关闭警报。虽然没有空间。
为什么会这样?
答案 0 :(得分:1)
因为浏览器使用空格键来关闭警报消息(如输入)。
解释:有趣的行为是浏览器使用空格键键来关闭警报,因此您只会看到keydown / keyup之间的对话框(在不重复空格键的示例中)
答案 1 :(得分:0)
您正在keydown上触发警报,这意味着当警报已经存在时,警报可能会监听的键盘事件会发生,并立即有效地删除警报。
如果您在键盘上触发警报,则不会出现问题。