DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> input 輸入框內的輸入事件詳細分析
input 輸入框內的輸入事件詳細分析
編輯:關於JavaScript     

1.基礎:本次分析原理就是在各個浏覽器下input內容變化的時候觸發事件的各種不兼容性.在ie下用onpropertychange事件,在其他浏覽器裡用input事件.
2.用例:對每個浏覽器分別測試如下的情況:
–輸入英文字母時–開啟輸入法時–大小寫不同時–輸入運算符時–按下tab鍵時–輸入法中按下空格時–按下控制鍵時–復制粘貼時–刪除文本時–等等
3.測試開始:(只標出特殊情況,沒標出的表示正常觸發,每次只觸發一次事件)
chrome:
+開啟輸入法時,可以捕捉到輸入事件.
+開啟輸入法的時候按下空格鍵,觸發兩次事件,猜測一次是空格觸發的,一次是輸入法改變輸入框裡的文本時觸發的.
+開啟輸入法的時候,按下空格後,立即按下大寫鎖定,此後所有的輸入事件都會被觸發兩次,原因不知.
+沒有開啟輸入法的時候,方向鍵不會觸發事件,但是開啟輸入法後,方向鍵可以觸發事件.
+剪切和粘貼都會觸發事件.+tab鍵不處罰事件,開啟輸入法時,按tab鍵觸發事件.
+按住shift和其他鍵(例如:數字鍵),每輸入一個字符觸發兩次事件.
Firefox:
+開啟輸入法時,不能撲捉到事件,但是按下空格時,可以觸發兩次事件.
+任何時候方向鍵都不觸發事件.
+開啟輸入法的時候,按下空格後,立即按下大寫鎖定,此後所有的輸入事件都會被觸發兩次,原因不知.
+按下tab鍵的時候不觸發事件.++Firefox頁面刷新的時候內容會被保留在輸入框裡.
+按住shift和其他鍵(例如:數字鍵),每輸入一個字符觸發兩次事件.
opera:
+正常情況下,在輸入框裡按下tab鍵會觸發一次事件,但是此後只要不刷新頁面,tab鍵都不會再觸發此事件.
+開啟輸入法後不會觸發事件,開啟後,方向鍵和tab鍵都不觸發事件.
+開啟輸入法時,按下空格只觸發一次事件,不會出現觸發兩次事件的情況.
+粘貼的時候觸發事件,剪切的時候不觸發
ie:
+輸入法不會觸發事件,按空格也都是只觸發一次,方向鍵任何時刻都不觸發.
+刷新頁面的時候內容會留在input裡,而且注意,不管input是不是空的,刷新頁面後自動觸發一次事件.
3.總結.
就一句話,差異很大.
注意input事件可以用在chrome,Firefox,opera裡,但是只能用 addEventListener綁定,不能用ontype形式,而onpropertychange可以用on形式,也可以用attachEvent綁定

其它在線演示說明:http://www.jb51.net/tools/keyboard_events.html

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved