按住箭头键不断触发keyUP事件

时间:2013-05-22 21:48:40

标签: javascript jquery keydown keyup

以下是我正在做的事情:

$(document).keydown(function(e) {
    e.preventDefault();
    console.debug(e.keyCode, "down");
});
$(document).keyup(function(e) {
    e.preventDefault();
    console.debug(e.keyCode, "up");
});

您可以在此处查看问题:http://jsfiddle.net/pJgyu/32530/

如果我按住一个字母键,keydown会不断被解雇,直到我放开为止。然后keyup发射一次。这似乎是正确的行为。

如果我按住箭头键,keydown和keyup会不断交替。为什么键盘会被解雇?

我试过没有“e.preventDefault();”。

此外,按住箭头键后,SOMETIMES字母键显示相同的奇怪行为。

2 个答案:

答案 0 :(得分:2)

您的键盘可能坏了。当我尝试在你的jsfiddle中复制它时,我没有那个问题。

答案 1 :(得分:0)

不仅必须打破键盘。 我有同样的问题,并花了一些时间谷歌搜索和调试它,只有在几个痛苦的时间后,我才记得我使用的键映射软件。我的AutoHotkey脚本使用特殊键(例如箭头)执行多项操作,这就是问题的原因。