js事件总结

键盘事件

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

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

keyup:当键弹起时

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

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

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


猜你喜欢

转载自blog.csdn.net/cotexarm7/article/details/78845547