“DOM3級事件”規范中引入了一個新事件,名叫 textInput。根據規范,當用戶在可編輯區域中 輸入字符時,就會觸發這個事件。這個用于替代 keypress 的 textInput 事件的行為稍有不同。區別 之一就是任何可以獲得焦點的元素都可以觸發keypress事件,但只有可編輯區域才能觸發textInput 事件。區別之二是 textInput 事件只會在用戶按下能夠輸入實際字符的鍵時才會被觸發,而 keypress 事件則在按下那些能夠影響文本顯示的鍵時也會觸發(例如退格鍵)。?
? ? ? ?由于 textInput 事件主要考慮的是字符,因此它的 event 對象中還包含一個 data 屬性,這個屬 性的值就是用戶輸入的字符(而非字符編碼)。換句話說,用戶在沒有按上檔鍵的情況下按下了 S 鍵, data 的值就是"s",而如果在按住上檔鍵時按下該鍵,data 的值就是"S"。?
? ? ? ?南昌網站建設公司百恒網絡前端開發工程師舉一個使用 textInput 事件的例子,以便大家更好理解,代碼如下:?
? ? ? ?
? ? ? ?
? ? ? ?
This example only works in browsers that support the textInput
event.
? ? ? ?
在這個例子中,插入到文本框中的字符會通過一個警告框顯示出來。?
? ? ? ?另外,event 對象上還有一個屬性,叫 inputMethod,表示把文本輸入到文本框中的方式。
? ? ? ?0,表示瀏覽器不確定是怎么輸入的。
? ? ? ?1,表示是使用鍵盤輸入的。
? ? ? ?2,表示文本是粘貼進來的。
? ? ? ?3,表示文本是拖放進來的。
? ? ? ?4,表示文本是使用 IME輸入的。
? ? ? ?5,表示文本是通過在表單中選擇某一項輸入的。
? ? ? ?6,表示文本是通過手寫輸入的(比如使用手寫筆)。
? ? ? ?7,表示文本是通過語音輸入的。
? ? ? ?8,表示文本是通過幾種方法組合輸入的。
? ? ? ?9,表示文本是通過腳本輸入的。
? ? ? ?使用這個屬性可以確定文本是如何輸入到控件中的,從而可以驗證其有效性。支持 textInput 屬 性的瀏覽器有 IE9+、Safari和 Chrome。只有 IE支持 inputMethod 屬性。?? ? ? ?
? 本文僅限內部技術人員學習交流,不得作于其他商業用途.希望此文對廣大技人員有所幫助。原創文章出自:南昌網站建設公司-百恒網絡http://www.527701.com/如轉載請注明出處!