0

我打算实现对键的响应,所以我开始:

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

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

但是,我发现了一些有趣的行为。当我使用空格键时,它会做一些奇怪的事情。

当我按空格键时,会出现带有数字“32”(空格键码)的警报。但是,当我释放键时,警报会自动关闭!

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

为什么是这样?

4

2 回答 2

1

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

解释:有趣的行为是浏览器使用空格键键关闭警报,所以你只会看到你的键/键之间的对话框(在空格键不重复的例子中)

于 2013-03-23T14:25:53.630 回答
0

您正在触发 keydown 警报,这意味着警报按钮可能会侦听的 keyup 事件在警报已经存在时发生,从而有效地立即删除警报。

如果您改为在 keyup 上触发警报,这将不是问题。

于 2013-03-23T14:31:42.417 回答