【js】Input事件
Input Event常用事件触发的先后顺序如下:
1 keydown
2 keypress
3 textInput
4 input
5 keyup
keydown,keyup
1 全部浏览器支持
2 当用户按下/释放键盘上的任意键时触发
3 event.keyCode,返回键盘上按键对应的特定键码
(兼容性:分号在Firefox,Opera上返回的是ASCII码,在IE,Safari上返回键码)
4 event.charCode = 0 这两个事件触发时,总返回0
keypress
1 全部浏览器支持
2 当用户按下字符键时触发
3 event.charCode,返回键盘上按键对应的ASCII码
(IE9+,Firefox,Chrome,Safari)
4 event.keyCode,返回键盘上按键对应的ASCII码
(IE8-,Opera)
textInput
1 IE9+,Chrome,Safari支持,别的浏览器不支持
2 在文本插入文本框之前触发,便于检查拦截用户输入使用
3 在input:text,input:password,input:search,textarea以及元素是contentEditable模式时支持触发此事件
4 event.data,返回用户输入的文本
(如果按键是s,那么返回s;
如果按键是s+Shift,那么返回S)
5 IE9中事件名为textinput(全小写,其它浏览器中I需要大写)
input
1 IE9+,Firefox,Chrome,Safari,Opera支持
2 在内容变化时,实时触发
3 在input:text,input:password,input:search,textarea支持触发此事件,在内容变化时,实时触发
(与onchange事件类似,但是onchange事件只有在元素失去焦点的时候才触发)
4 IE9中此事件有bug,在多种删除方式(使用退格键(Backspace),删除键(Delete),Ctrl+X,右键菜单中的剪切和删除)不会被实时触发
5 IE9种需要使用addEventListener绑定事件,而attachEvent绑定事件的方式不可用
6 Safari5之前的版本在textarea上不支持此事件
参考资料
http://www.cnblogs.com/starof/p/6558581.html