来自Javascript的某些警报会自动关闭?

时间:2013-03-23 14:24:10

标签: javascript key alert space

我打算对密钥进行响应,所以我开始使用:

window.addEventListener('keydown', function(e) {
    alert(e.keyCode)
}, true)

适用于大多数按键。当我按下一个键时,它会提醒键码。 (当然,这不是最终的设计;只是一个测试,看看它是否可以使调试更容易。)

然而,我发现了一些有趣的行为。当我使用空格键时,它确实很奇怪。

当我按空格键时,会出现编号为'32'(空格键代码)的警报。但是,当我释放密钥时,警报会自动关闭!

我发现使用Enter键,我必须再按一下才能关闭警报。虽然没有空间。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

因为浏览器使用空格键来关闭警报消息(如输入)。

解释:有趣的行为是浏览器使用空格键键来关闭警报,因此您只会看到keydown / keyup之间的对话框(在不重复空格键的示例中)

答案 1 :(得分:0)

您正在keydown上触发警报,这意味着当警报已经存在时,警报可能会监听的键盘事件会发生,并立即有效地删除警报。

如果您在键盘上触发警报,则不会出现问题。