1、onchange 事件與 onpropertychange 事件的區別:
- onchange 事件在內容改變(兩次內容有可能還是相等的)且失去焦點時觸發。
- onpropertychange 事件卻是實時觸發,即每增加或刪除一個字符就會觸發,通過 js 改變也會觸發該事件,但是該事件 IE 專有。
2、oninput 事件與 onpropertychange 事件的區別:
- oninput 事件是 IE 之外的大多數瀏覽器支持的事件,在 value 改變時觸發,實時的,即每增加或刪除一個字符就會觸發,然而通過 js 改變 value 時,卻不會觸發。
- onpropertychange 事件是任何屬性改變都會觸發的,而 oninput 卻只在 value 改變時觸發,oninput 要通過 addEventListener() 來註冊,onpropertychange 註冊方式跟一般事件一樣。(此處都是指在js中動態綁定事件,以實現內容與行爲分離)
3、oninput 與 onpropertychange 失效的情況:
- (1)oninput 事件:a). 當腳本中改變 value 時,不會觸發;b).從瀏覽器的自動下拉提示中選取時,不會觸發。
- (2)onpropertychange 事件:當 input 設置爲 disable=tru e後,onpropertychange 不會觸發。 原文地址:http://www.runoob.com/jsref/event-oninput.html