change、propertychange 和 input 事件的區(qū)別

1. onchange 事件與 onpropertychange 事件的區(qū)別:

onchange 事件在內(nèi)容改變(兩次內(nèi)容有可能還是相等的)且失去焦點(diǎn)時(shí)觸發(fā);
onpropertychange 事件卻是實(shí)時(shí)觸發(fā),即每增加或刪除一個(gè)字符就會(huì)觸發(fā),通過(guò) js 改變也會(huì)觸發(fā)該事件,但是該事件 IE 專有;

2. oninput 事件與 onpropertychange 事件的區(qū)別:

oninput 事件是 IE 之外的大多數(shù)瀏覽器支持的事件,在 value 改變時(shí)觸發(fā),實(shí)時(shí)的,即每增加或刪除一個(gè)字符就會(huì)觸發(fā),然而通過(guò) js 改變 value 時(shí),卻不會(huì)觸發(fā)。
onpropertychange 事件是任何屬性改變都會(huì)觸發(fā)的,而 oninput 卻只在 value 改變時(shí)觸發(fā),oninput 要通過(guò) addEventListener() 來(lái)注冊(cè),onpropertychange 注冊(cè)方式跟一般事件一樣。(此處都是指在js中動(dòng)態(tài)綁定事件,以實(shí)現(xiàn)內(nèi)容與行為分離)

3. oninput 與 onpropertychange 失效的情況:

oninput 事件:

  • 當(dāng)腳本中改變 value 時(shí),不會(huì)觸發(fā);
  • 從瀏覽器的自動(dòng)下拉提示中選取時(shí),不會(huì)觸發(fā);

onpropertychange 事件:

  • 當(dāng) input 設(shè)置為 disable=true 后,onpropertychange 不會(huì)觸發(fā);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容