7

我不是在问这个,因为我需要一个解决方法。我有一个工作正常,但我想知道为什么它没有。这是 Javascript 中的错误(或 JQuery,因为我使用的是 JQuery.keypress处理程序)还是有特定原因?

4

2 回答 2

16

keypress事件旨在处理用户键入的字符,而不是检测键盘活动,并且删除键和退格键不会生成字符。一些浏览器有点模糊这条线,但一般原则是keyupkeydown事件在那里检测任何被按下的键并告诉您它是哪个键,而keypress用于检测正在输入的实际字符。

于 2010-10-12T11:14:28.577 回答
2

简短的回答是所有浏览器中的所有键类型都不会触发 onkeypress 事件。查看浏览器的手册。

为什么?

可能不是一个全面的答案,但考虑一下 Shift,当它下降和相对于其他键出现时很重要。并且不同的键盘硬件具有不同的按键翻转特性,您可能想详细了解这些特性。

于 2010-10-12T04:22:11.523 回答