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