webJ

追求自由美好的生活

JavaScript 的 keydown和 keypress 有什么区别呢?

答:

虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown. 说KeyDown是按下, KeyPress是按下并松开, 是不对的.
如果当用户按下任意键时触发,而且按住不放的话,会重复触发此keypress和keydown事件。

 

发表评论

电子邮件地址不会被公开。