1. 程式人生 > >oninput、onchange、onpropertychange區別

oninput、onchange、onpropertychange區別

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=true後,onpropertychange不會觸發。