解決jquery中動(dòng)態(tài)新增的元素節(jié)點(diǎn)無法觸發(fā)事件問題的兩種方法
比如做一個(gè)ajax讀取留言列表的時(shí)候,每條留言后面有個(gè)回復(fù)按鈕,class為“reply”,如果你用的是$(".reply").click(function(){ //do something... }),想必后面通過ajax加載進(jìn)來的列表中的回復(fù)按鈕,點(diǎn)擊事件會(huì)失效。
其實(shí)最簡(jiǎn)單的方法就是直接在標(biāo)簽中寫onclick="",但是這樣寫其實(shí)是有點(diǎn)low的,最好的方式還是通過給類名綁定一個(gè)click事件。
解決jquery中動(dòng)態(tài)新增的元素節(jié)點(diǎn)無法觸發(fā)事件的問題有兩種解決方法,如下:
為了達(dá)到更好的演示效果,假設(shè)在某個(gè)頁面的body下有以下結(jié)構(gòu)的代碼:
<p id="pLabel">新加一條</p> <ul id="ulLabel"> <li class="liLabel">aaa1</li> <li class="liLabel">aaa2</li> <li class="liLabel">aaa3</li> </ul> <script type="text/javascript"> $("#pLabel").click(function(){ $("#ulLabel").append('<li class="liLabel">aaaQ</li>'); //動(dòng)態(tài)像ul的末尾追加一個(gè)新元素 }); </script>
方法一:使用live
live()函數(shù)會(huì)給被選的元素綁定上一個(gè)或者多個(gè)事件處理程序,并且規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。通過live()函數(shù)適用于匹配選擇器的當(dāng)前及未來的元素。比如,通過腳本動(dòng)態(tài)創(chuàng)建的元素。
實(shí)現(xiàn)如下:
$('.liLabel').live('click', function(){ alert('OK'); });
方法二:使用on
可以通過on方法綁定事件,可以綁定到它的父級(jí)或者body中,實(shí)現(xiàn)如下:
$("#ulLabel").on('click','.liLabel',function(){ alert('OK') }); 或者: $("body").on('click','.liLabel',function(){ alert('OK') });
現(xiàn)在大家可以嘗試嘗試,是不是問題已經(jīng)得到解決了,希望這篇文章能夠真正的幫助大家。
相關(guān)文章
jquery將json轉(zhuǎn)為數(shù)據(jù)字典的實(shí)例代碼
這篇文章主要介紹了jquery將json轉(zhuǎn)為數(shù)據(jù)字典的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10jQuery+css實(shí)現(xiàn)炫目的動(dòng)態(tài)塊漂移效果
這篇文章主要介紹了jQuery+css實(shí)現(xiàn)的動(dòng)態(tài)塊漂移效果,涉及jQuery基于隨機(jī)數(shù)與時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-01-01jQuery實(shí)現(xiàn)圖片滑動(dòng)效果
本文主要介紹了jQuery實(shí)現(xiàn)圖片滑動(dòng)效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03jQuery實(shí)現(xiàn)的鼠標(biāo)滾輪控制圖片縮放功能實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的鼠標(biāo)滾輪控制圖片縮放功能,結(jié)合完整實(shí)例形式分析了jQuery基于鼠標(biāo)滾輪mousewheel事件進(jìn)行頁面元素屬性動(dòng)態(tài)操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10jquery簡(jiǎn)單實(shí)現(xiàn)縱向的無縫滾動(dòng)代碼實(shí)例
這篇文章主要介紹了jquery簡(jiǎn)單實(shí)現(xiàn)縱向的無縫滾動(dòng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04jquery ajax局部加載方法詳解(實(shí)現(xiàn)代碼)
下面想就為大家?guī)硪黄猨query ajax局部加載方法詳解(實(shí)現(xiàn)代碼)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧2016-05-05如何讓瀏覽器支持jquery ajax load 前進(jìn)、后退功能
在做 ajax load 的時(shí)候,很多人都不會(huì)考慮到需要瀏覽器支持前進(jìn)后退功能,本例讓瀏覽器支持jquery ajax load 前進(jìn)、后退 功能,需要的朋友可以參考下2014-06-06