之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态生成的标签点击了没反应,而live方法却能够支持,于是乎到处查资料,问网友,结果找了好久在一篇文章中终于找到了答案。。。

jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。大家看看源码就知道了。生成的按钮基数项on方法点击无效live方法有效。

比如页面上有下边两个元素:

<input type="button" name="addbtn" value="按钮添加" />
<div id="test"></div>

使用下边的jQuery代码大家可以对比看看区别:

$(function () {var a = 1,$_div = $('#test');$('input[name=addbtn]').on('click', function () {$_div.append('<input type="button" name="test' + a + '" value="按钮' + a + '"/>');a++;});//偶数项点击事件$_div.on('click', 'input[name^=test]:even', function () {   alert('我是有效的on方法,你能看见我吗:' + this.value);});//奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持$('input[name^=test]:odd').on('click', function () {   alert('我是无效的on方法,你不能看见我');});//奇数项绑定的点击事件  发现点击无效,而是用live方法却能够支持$('input[name^=test]:odd').live('click', function () {alert('我是live方法,你能看见我吗:' + this.value);});
});

代码简单,就不演示了。

转载于:https://www.cnblogs.com/imsomnus/p/4512261.html

jQuery on()方法绑定动态元素的点击事件无效相关推荐

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

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

  2. DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。

    1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...

  3. 动态生成html点击事件无效,动态生成的DOM不会触发onclick事件的原因及解决方法...

    最近朋友在做一个项目的时候,遇到动态加载微博内容,然后点击"展开评论"后获取该微博的所有评论.这里使用了动态加载的点击加载评论. 然后再写 $(".get_comment ...

  4. js动态添加元素为何 点击事件无效

    本来觉得不用提的,但是发现最近几个朋友在提,而且新来的小兄弟也有点迷糊这个,所以就简单说说, 看看下面的代码: <!DOCTYPE html> <html><head&g ...

  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. css中为伪元素增加点击事件和hover

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

  9. html,js 中如何屏蔽div子元素点击事件会触发父元素的点击事件($event.cancelBubble=true;)

    1. 第一种方法:html中屏蔽父元素的点击事件($event.cancelBubble=true;) <div (click)="select($event)"> & ...

最新文章

  1. react 监听组合键_投资组合中需要的5个React项目
  2. java安装_Java开发中更多常见的危险信号
  3. 32位程序调用64位dll_电脑系统怎样区分32位和64位
  4. Python 之父:别等了,Python 4.0 可能不会来了
  5. 两点(51nod 深搜)
  6. OpenShift 4 之 GitOps(6)用ArgoCD部署MongoDB主从集群
  7. oracle 中查找不连续的数的最前一个值
  8. 什么是Asp.net Core?和 .net core有什么区别?(转)
  9. Simscape Multibody 多体动力学仿真教程(一)
  10. java中模糊查询sql怎么写_java模糊查询sql语句
  11. 要闻君说:小米手机部组织架构突现大调整;河南联通重启VDC扩容工程招标;英特尔已收购Ineda Systems,剑指独显;...
  12. python之论文降重工具
  13. android 百度地图走动轨迹,百度地图实现小车规划路线后平滑移动功能
  14. 电子负载的 Von/Voff 设置
  15. CTGU实验6_2-创建函数计算图书超期天数
  16. ubuntu18.04 LTS 安装英伟达驱动
  17. volatile关键字简单理解
  18. 数学基础 - 第十七章 勾股定理
  19. 移动端判断当前手机设备是安卓(Android)还是苹果ios
  20. 岳阳长沙深圳市区中考和高考难度对比

热门文章

  1. 如何正确访问 redis 中的海量数据?避免事故产生
  2. 分库分表?如何做到永不迁移数据和避免热点?
  3. 数据驱动决策的10种思维方式
  4. JVM:类加载机制之类加载器
  5. centos7配置 console口_玩转KVM-一招打开vm的console口
  6. 直接拖动元器件_电子元器件常规检测和判断
  7. 快速排序算法_常用排序算法之快速排序
  8. html pie标签,css3pie怎么用?
  9. docker 容器restarting_FATE联邦学习docker-compose部署中的坑
  10. 国内数据中心分布及供电系统概述