彙總 onchange onpropertychange 和 oninput 事件的區別

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章