jQuery动态添加元素无法触发绑定事件的解决方法分析


Posted in jQuery onJanuary 02, 2018

本文实例讲述了jQuery动态添加元素无法触发绑定事件的解决方法。分享给大家供大家参考,具体如下:

最近遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件。后来在网上查阅了一些资料,发现原来要这样处理:

先上我出错的代码:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="external nofollow" >
  <script src="//cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script>
  <script>
    $(document).ready(function(){
//这里是动态添加元素
      $(".add").click(function(){
        var btn = $("<button class='newBtn btn btn-default'>新按钮</button>");
        $("body").append(btn);
      })<br><br>//这里是为添加的元素添加事件
      $(".newBtn").click(function(){
        alert("这里是新添加的元素触发的事件");
      })
    })
  </script>
</head>
<body>
<button class=" add btn btn-default">添加按钮</button>
</body>
</html>

奉上我的解决方法

方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持)。

$(".newBtn").live("click",function(){
///jquery 1.9(不包括1.9)以下可以
  alert('这里是动态元素添加的事件');
})

方法二:利用on()事件绑定($(ParentEle).on("click",".thisEle",function(){})

$("body").on("click", ".newBtn", function() {
   alert('这里是动态元素添加的事件');
});
//这里的ParentEle是 thisEle的父辈元素或者祖先元素,ParentEle可以是document,也可以是body等。
//注意:如果此时调用的函数是外部定义好的函数,那在调用的时候不要加(),不然会跳过点击事件直接触发函数
$("body").on("click", ".newBtn",aa );
function aa(){
    alert('这里是动态元素添加的事件');
}

ok,问题解决,继续爬坑。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
基于jQuery实现文字打印动态效果
Apr 21 jQuery
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
简单实现jQuery手风琴效果
Aug 18 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
jQuery实现简单的Ajax调用功能示例
Feb 15 jQuery
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
基于jquery.page.js实现分页效果
Jan 01 #jQuery
jquery实现企业定位式导航效果
Jan 01 #jQuery
jquery实现楼层滚动效果
Jan 01 #jQuery
jquery实现左右轮播切换效果
Jan 01 #jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 #jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 #jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 #jQuery
You might like
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php二分查找二种实现示例
2014/03/12 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
JS delegate与live浅析
2013/12/21 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
JSON获取属性值方法代码实例
2020/06/30 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python使用7z解压apk包的方法
2015/04/18 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
产品质量保证书
2014/04/29 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书