座機: 029-81773686 熱線: 18966895139 聯系我們
網頁制作、網絡營銷、維護推廣、手機網站制作一站式解決方案
十分感謝六年來與我們攜手共進的朋友們、客戶們!切換新版
jquery中動態新增的元素節點無法觸發事件解決辦法
添加時間:2018-06-11  點擊率:903次
jquery元素用click是可以點擊的【$("#XXX").click(function(){}】,生成的元素常見的click是不能在次點擊的,替換下點擊click就可以
在使用jquery中動態新增的元素節點時會發現添加的事件是無法觸發的,我們下面就為各位來詳細的介紹此問題的解決辦法.
比如做一個ajax讀取留言列表的時候,每條留言后面有個回復按鈕,class為“reply”,如果你用的是$(".reply").click(function(){ //do something... }),想必后面通過ajax加載進來的列表中的回復按鈕,點擊事件會失效,其實最簡單的方法就是直接在標簽中寫onclick="",但是這樣寫其實是有點low的,最好的方式還是通過給類名綁定一個click事件。
解決jquery中動態新增的元素節點無法觸發事件的問題有兩種解決方法,如下,為了達到更好的演示效果,假設在某個頁面的body下有以下結構的代碼:

方法一:使用live

live()函數會給被選的元素綁定上一個或者多個事件處理程序,并且規定當這些事件發生時運行的函數,通過live()函數適用于匹配選擇器的當前及未來的元素,比如,通過腳本動態創建的元素,實現如下:
$('.liLabel').live('click', function(){ }); 

方法二:使用on

可以通過on方法綁定事件,可以綁定到它的父級或者body中,實現如下:
$("#ulLabel").on('click','.liLabel',function(){  });  
//或者:  
$("body").on('click','.liLabel',function(){  });  
?
版權所有 ? 西安宏博網絡,并保留所有權利
展開客服