日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery on()方法绑定动态元素的点击事件无响应的解决办法

發(fā)布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jQuery on()方法绑定动态元素的点击事件无响应的解决办法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count++; }

以上代碼執(zhí)行時,點擊#check_all時,alert一直沒反應(yīng),后在網(wǎng)上查資料時,才知道on前面的元素也必須在頁面加載的時候就存在于dom里面, 那原話是這樣的:

支持給動態(tài)元素和屬性綁定事件的是live和on,其中l(wèi)ive在JQUERY 1.7之后就不推薦使用了。現(xiàn)在主要用on,使用on的時候也要注意,on前面的元素也必須在頁面加載的時候就存在于dom里面。動態(tài)的元素或者樣式等,可以放在on的第二個參數(shù)里面。

因為我先輸出相關(guān)html,再執(zhí)行就沒問題了。

<div class="row">\ <div class="col-xs-12">\ <div class="control-group">\ <label class="control-label bolder blue">選擇鎮(zhèn)街</label>\ <div class="row">\ <div class="checkbox col-xs-1">\ <label>\ <input type="checkbox" class="checkbox" id="check_all" />\ <span class="lbl">全區(qū)</span>\ </label>\ </div>\ <div id="check_item">\ <div class="checkbox col-xs-1 ">\ <label>\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">西南街道</span>\ </label>\ </div>\ <div class="checkbox col-xs-1 ">\ <label>\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">云東海街道</span>\ </label>\ </div>\ <div class="checkbox col-xs-1">\ <label>\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">白坭鎮(zhèn)</span>\ </label>\ </div>\ <div class="checkbox col-xs-1">\ <label class="block">\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">樂平鎮(zhèn)</span>\ </label>\ </div>\ <div class="checkbox col-xs-1">\ <label class="block">\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">大塘鎮(zhèn)</span>\ </label>\ </div>\ <div class="checkbox col-xs-1">\ <label class="block">\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">蘆苞鎮(zhèn)</span>\ </label>\ </div>\ <div class="checkbox col-xs-1">\ <label class="block">\ <input name="towm'+count+'" type="checkbox" class="checkbox" />\ <span class="lbl">南山鎮(zhèn)</span>\ </label>\ </div>\ </div>\ </div>\ </div>\ </div>\ </div>\ <hr />'; $('#check_all').on('click' , function(){ var that = this; $('#check_item').find('input:checkbox') .each(function(){ alert(2); this.checked = that.checked; $(this).closest('.col-xs-1').toggleClass('selected'); }); });

下面看下jquery on() 方法綁定動態(tài)元素

jQuery on()方法是官方推薦的綁定事件的一個方法。使用 on() 方法可以給將來動態(tài)創(chuàng)建的動態(tài)元素綁定指定的事件,例如append等。

<div id="test"> <div class="evt">evt1</div> </div> 錯誤的用法,下面方法只為第一個class 為 evt 的div 綁定了click事件,使用append動態(tài)創(chuàng)建的div則沒有綁定
<script> // 先綁定事件再添加div $('#test .evt').on('click', function() {alert($(this).text())}); $('#test').append('<div class="evt">evt2</div>'); </script> 正確的用法如下:


<script> $('body').on('click', '#test .evt', function() {alert($(this).text())}); $('#test').append('<div class="evt">evt2</div>'); </script>



總結(jié)

以上是生活随笔為你收集整理的jQuery on()方法绑定动态元素的点击事件无响应的解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。