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插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 jQuery
jQuery中extend函数简单用法示例
Oct 11 jQuery
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
jQuery中复合选择器简单用法示例
Mar 31 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
jQuery中event.target和this的区别详解
Aug 13 jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
如何使用PHP中的字符串函数
2006/11/24 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python调用命令行进度条的方法
2015/05/05 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
电子商务专员岗位职责
2013/12/11 职场文书
颁奖晚会主持词
2014/03/25 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
医德医风演讲稿
2014/05/20 职场文书
2014年建筑工作总结
2014/11/26 职场文书
个性与发展自我评价
2015/03/06 职场文书
离婚协议书范文2016
2016/03/18 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL