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.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
jQuery回调方法使用示例
Jun 26 jQuery
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
Sep 10 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jQuery实现倒计时功能完整示例
Jun 01 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 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读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php微信支付接口开发程序
2016/08/02 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
利用Python检测URL状态
2019/07/31 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
python实现银行账户系统
2021/02/22 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
测试驱动开发的主要步骤是什么
2014/12/10 面试题
网上卖盒饭创业计划书范文
2014/02/07 职场文书
工程质量月活动方案
2014/02/19 职场文书
学习雷锋倡议书
2014/04/15 职场文书
物流专业自荐信
2014/05/23 职场文书
初中差生评语
2014/12/29 职场文书
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS