input事件--keydown、keypress、keyup、input、change事件

键盘事件

keydown:当任意键按下时,(键盘上的F键不触发)

keypress:当字符键按下时(上下左右箭头键不触发,shift ctrl option command都不触发)

keyup:当键弹起时

change:当input中的内容发生变化,并且失去焦点时触发。

所有的dom都可以监听键盘事件。

如果我们遇到需要根据文本框的内容的变化做处理的业务,比如:实时展示文本框内字符个数、发送文本框内容等业务。用keydown、keypress或者keyup都会有弊端,比如:keypress对ctr shift键无效,所以,对于复制粘贴操作它不支持,pass。而keydown和keyup,是针对任意按键都有效,所以,如果用户按了shift或者ctrl,会触发这个事件,但是,其实input里的内容没有发生变化,这个事件的触发纯属浪费,起不到作用。

综上,本质上应该监听文本框内容的变化。即可以利用文本框的input事件,只有文本框中的内容发生变化时才会触发这个事件。但它在ie9中不兼容。如果你想兼容ie9,可以利用input的替代事件,propertychange事件,propertychange事件只在ie浏览器中有效。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值