jquery動態生成dom(比如append)導致js事件無效


如果無效用這個方法: on() 方法在被選元素及子元素上添加一個或多個事件處理程序。

< div id = "zkdiv" >
  < input type = "button" value = "展開" id = "zk" class = "zk" /> < br >
</ div >
$("#zkdiv").on("click",".zk",function(){
 console.log("on 點擊一次");
});
var html2 = "<input type='button' class='zk' value='新生成的展開' />";
$("#zkdiv").append(html2);

這樣一來處理函數就綁定到#zkdiv的選擇器上去了,事件冒泡導致的性能損失會大大降低(使用該方法時要確保.on前面的選擇器能選擇到對象 否則不起作用)

click是點擊事件,但是在頁面加載完之后,jquery事件新添加的元素,用click的話是無法獲取元素的,這個時候要用on去獲取元素事件,簡單的說頁面加載完成時候頁面顯示的元素可以用on,也可以用click,但是頁面加載完成之后后期再追加的元素只能用on。

 

提示:如需移除事件處理程序,請使用 off() 方法。

提示:如需添加只運行一次的事件然后移除,請使用 one() 方法。

 

引用:https://www.jb51.net/article/146535.htm


免責聲明!

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



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