【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

http://help.dottoro.com/ljhxklln.php

http://help.dottoro.com/ljhiwalm.php

posted @ 2017-08-18 16:09  snow_finland  阅读(1841)  评论(0编辑  收藏  举报