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 29 jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
Jquery让form表单异步提交代码实现
Nov 14 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
JQuery表单元素取值赋值方法总结
May 12 jQuery
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
jquery实现上传图片功能
Jun 29 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
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php防止sql注入的方法详解
2017/02/20 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
脚本收藏iframe
2006/07/21 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
Vue响应式原理详解
2017/04/18 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python中处理时间的几种方法小结
2015/04/09 Python
python实现数据图表
2017/07/29 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python实现人像动漫化的示例代码
2020/05/17 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
《赶海》教学反思
2014/04/20 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
公司经理任命书
2014/06/05 职场文书
2014高考励志标语
2014/06/05 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
六一儿童节开幕词
2015/01/29 职场文书
入党转正申请报告
2015/05/15 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书