按删除键时无法触发按键事件

时间:2012-04-17 08:06:37

标签: javascript javascript-events keyevent

我发现删除键不会触发Chrome中的keypress事件,而其他键可以正常工作。这个问题在Firefox中不会发生,只是在chrome中,为什么?这是我的代码:

document.addEventListener('keypress', function (e) {
     console.log(e);
}, false);

2 个答案:

答案 0 :(得分:19)

使用keydownkeyup代替,它会捕获删除键(以及其他按键不会,请参阅http://www.quirksmode.org/js/keys.html

document.addEventListener('keydown', function (e) {
     console.log(e);
}, false);

答案 1 :(得分:3)

IE浏览器,Chrome浏览器和Safari版中没有针对(Del,End,Home等)发生

keypress事件..它仅适用于 firefox。

因此您可以使用keyupkeydown事件,因为keypress事件是针对真实(可打印)字符的。 "keydown"在较低级别处理,因此它将捕获所有非打印键,如DEL,End等。