2012-04-17 159 views
8

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

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

回答

14

使用​​或keyup相反,它抓住了删除键(以及其他人的按键并不见http://www.quirksmode.org/js/keys.html

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

对不起,我已经定义了我的代码中的函数日志,我忘了把它添加到问题 – qiu8310 2012-04-17 08:35:08

+0

非常感谢你很多,它真的有帮助! – qiu8310 2012-04-17 08:38:49

+0

@ qiu8310没问题!确保你接受答案,如果它解决了你的问题:) – 2012-04-17 08:40:13

2

keypress事件(Del键,结束,首页等。)不是在IE,Chrome和safari ..它只能在firefox中工作。

因此,您可以使用keyup或​​事件,因为keypress事件用于实际(可打印)字符。 "keydown"是在较低的水平,所以它会捕获所有非打印键像DEL,结束等