$('#check_all').on('click' , function(){
alert(1);
});
$("#yujinlist").append(html);
count++;
}

以上代码执行时,点击#check_all时,alert一直没反应,后在网上查资料时,才知道on前面的元素也必须在页面加载的时候就存在于dom里面, 那原话是这样的:

支持给动态元素和属性绑定事件的是live和on,其中live在JQUERY 1.7之后就不推荐使用了。现在主要用on,使用on的时候也要注意,on前面的元素也必须在页面加载的时候就存在于dom里面。动态的元素或者样式等,可以放在on的第二个参数里面。

因为我先输出相关html,再执行就没问题了。

<div class="row">\
<div class="col-xs-12">\
<div class="control-group">\
<label class="control-label bolder blue">选择镇街</label>\
<div class="row">\
<div class="checkbox col-xs-1">\
<label>\
<input type="checkbox" class="checkbox" id="check_all" />\
<span class="lbl">全区</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">白坭镇</span>\
</label>\
</div>\
<div class="checkbox col-xs-1">\
<label class="block">\
<input name="towm'+count+'" type="checkbox" class="checkbox" />\
<span class="lbl">乐平镇</span>\
</label>\
</div>\
<div class="checkbox col-xs-1">\
<label class="block">\
<input name="towm'+count+'" type="checkbox" class="checkbox" />\
<span class="lbl">大塘镇</span>\
</label>\
</div>\
<div class="checkbox col-xs-1">\
<label class="block">\
<input name="towm'+count+'" type="checkbox" class="checkbox" />\
<span class="lbl">芦苞镇</span>\
</label>\
</div>\
<div class="checkbox col-xs-1">\
<label class="block">\
<input name="towm'+count+'" type="checkbox" class="checkbox" />\
<span class="lbl">南山镇</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() 方法绑定动态元素

jQuery on()方法是官方推荐的绑定事件的一个方法。使用 on() 方法可以给将来动态创建的动态元素绑定指定的事件,例如append等。

<div id="test">
<div class="evt">evt1</div>
</div>

错误的用法,下面方法只为第一个class 为 evt 的div 绑定了click事件,使用append动态创建的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>

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

  1. jQuery on()方法绑定动态元素的点击事件无效

    之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态 ...

  2. button点击事件不响应的解决方法(子视图大小超过父视图)

    一开始封装了一个tableView的headerView,感觉完成得还不错,后来测试的时候发现,最下边的两个button的点击事件不响应.然后就...着急了.在网上查询了button点击事件不响应的原 ...

  3. jquery点击事件失效原因和解决办法

    今天遇到的一个问题:在使用jQuery绑定点击事件的时候,动态添加元素的时候,会遇到点击无效的情况: 例如:给dl里添加dd元素,并给dd绑定点击事件 $("dl").append ...

  4. 路由宽带运营商服务器未响应,路由器拨号失败服务器无响应的解决方法

    安装路由器时,路由器的WAN口状态显示"拨号失败服务器无响应"的解决办法,很多用户在设置路由器的时候都会遇到,下面会介绍相应的解决方法. 原因分析 "拨号失败服务器无响应 ...

  5. JQuery 动态生成元素添加点击事件

    页面代码 <html> ... <body> <div id="divBox"></div> <script> $(fu ...

  6. jQuery移除或禁用html元素的点击事件

    移除或禁用html元素的点击事件可以通过css实现也可以通过js或jQuery实现. 一.CSS方法 .disabled { pointer-events: none; } 二.jQuery方法 方法 ...

  7. html 点击子元素,html如何点击子元素事件而不触发父元素的点击事件——阻止冒泡...

    如果子元素和父元素都有点击事件,会出现点击事件冒泡的情况. 1.如何避免冒泡: html: 你好, 战无不胜 [注销] js: 方法1: UserLogout.οnclick=function (e) ...

  8. 路由器wan口认证断开服务器无响应,路由器WAN口设置已断开(服务器无响应)的解决方法...

    越洋帮路由网原创:文章是关于"路由器WAN口设置已断开(服务器无响应)的解决方法"的相关知识分享,希望可以帮到大家. - 素材来源网络 编辑:小易. 路由器WAN口设置的地方显示: ...

  9. css中为伪元素增加点击事件和hover

    鼠标悬停在父元素上面时为伪类元素增加样式 <!-- html结构 --> <div class="father"></div><style ...

最新文章

  1. SpringBoot第十篇:thymeleaf详解
  2. rss阅读器保存html文件,轻量级RSS阅读器网页版:selfoss安装教程
  3. 复制MySQL实时_自制mysql主从复制(实时)软件——实现
  4. DAY3-“忙里偷闲”找你玩耍2018-1-11
  5. 百倍性能的PL/SQL优化案例(r11笔记第13天)
  6. 2010计算机网络考研真题及答案,2010年计算机考研统考真题参考答案
  7. python爬取音乐下载_Python爬取全抖音好听背景音乐,一次性下载
  8. php微信定位功能,JavaScript微信定位功能实现方法
  9. Laravel 下使用 FFmpeg 处理多媒体文件
  10. 数据治理---Apache Atlas元数据管理
  11. 普通人除了打工,究竟如何才能赚到钱?
  12. 小白日记2:kali渗透测试之被动信息收集(一)
  13. PnP-AdaNet学习笔记
  14. 英雄联盟祖安服务器位置,《英雄联盟》祖安大区将开冠军杯赛全量测试 5月9日开战...
  15. 使用python简单实现K核苷酸频率(KNF,k-nucleotide frequencies)或K-mer频率
  16. excel自动排班表怎么做?哪里有免费的自动排班表?2022最新整理30份Excel自动排班表,建议收藏
  17. Java小白自学7:选择结构练习题
  18. 同一页面无法显示多个模态框的解决办法
  19. 《完美主义扼杀效率 》读书笔记
  20. 国密SM3加密算法工具类(非对称)

热门文章

  1. hibernate.hbm2ddl.auto配置及意义
  2. 迷你5和迷你4区别_可变大小的视频迷你批处理
  3. 机器学习与分布式机器学习_我将如何再次开始学习机器学习(3年以上)
  4. 拉5000万存款,银行客户经理能拿40万奖金?
  5. PHP(四)——性能优化
  6. Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)
  7. 《长调》 :寻找我们共同失去的天堂
  8. sql 数据库前两列值乘_Sql语句常用关键字
  9. python 滑块验证码_python selenium 淘宝滑块验证码 问题
  10. qt mysql查询中文相等_请教:Qt如何实现查询数据库中具有中文表名的表