为了账号安全,请及时绑定邮箱和手机立即绑定

keydown、keypress、keyup事件浅析笔记

标签:
JavaScript

事件触发顺序: keydown --> keypress --> keyup
键盘事件的触发过程具体是这样的:
在用户按下键盘上的一个字符键时,首先会触发keydown事件,然后是keypress事件,最后是keyup事件。其中,keydown和keypress事件是在文本框发生变化之前被触发;而keyup在文本框发生变化之后被触发。如果用户按下一个键不放,就会重复触发keydown和keypress事件。在用户按下一个非字符键时,首先触发keydown事件,然后就是keyup事件。如果用户按下一个键不放,就会重复触发keydown。


  • keydown: 当用户按下任意键时触发,而且按住不放的话,会重复触发此事件。
  • keypress:当用户按下字符键时触发,而且按住不放的话,会重复触发此事件。按下Esc键也会触发这个事件,Safari3.1之前的版本按下非字符键时也触发。
  • keyup: 当用户释放键时触发。在中文输入法下,浏览器之间则表现得不一致,主要情况如下:

  • IE,Chrome,Safari:触发keydown和keyup, 不触发keypress。
  • Firefox:首次按下按键时触发keydown,不触发keypress。在停止输入法并改变文本框内容(如按下回车或者空格键)后会触发keyup。
  • Opera:keydown, keypress和keyup都不触发。

PS : 只有在触发keyup事件才能获得修改后的文本值。所有元素都支持以上三个事件,一般情况下只有在文本框时才经常用到。

/内容摘抄至某网页,以下附上url/
原文链接:原文

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消