jQuery下的onChange事件在某些情況下無效


onChage無效的原因:

  雖然表面上感覺是當內容發生變化時,就會觸發onchange事件,但是那只能在頁面上操作。而如果通過dom對象去修改它的value則什么事也不會發生。

onchange觸發原理:

一、當input捕獲到焦點后,系統儲存當前值

二、當input焦點離開后[鼠標與鍵盤的觸發均可],判斷當前值與之前存儲的值是否不等,如果為true則觸發onchange事件。

 

所以想解決這個無效可以模擬一種鼠標點擊的效果

onchange事件,在使用DOM操作后加入下面的語句,(假設select的id為ele)

document.getElementById("ele").value="小樣";
document.getElementById("ele").fireEvent('onchange');

或者 

$("#ele").val("小樣");
$("#ele").trigger("change"); 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM