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

本文详细解析了键盘事件的工作原理,包括keydown、keypress、keyup和change事件的区别及应用场景。特别介绍了input事件的优势及其在不同浏览器中的兼容性问题。

键盘事件

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浏览器中有效。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值