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插件DataTables分页开发心得体会
Aug 22 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
jQuery 动态粒子效果示例代码
Jul 07 jQuery
jQuery插件实现图片轮播效果
Oct 19 jQuery
jQuery实现动态操作table行
Nov 23 jQuery
jquery实现拖拽小方块效果
Dec 10 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.MVC的模板标签系统(五)
2006/09/05 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
js实现小星星游戏
2020/03/23 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
JavaScript实现切换多张图片
2021/01/27 Javascript
python字符串连接方式汇总
2014/08/21 Python
Python数据结构之Array用法实例
2014/10/09 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Python 多维List创建的问题小结
2019/01/18 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
大学应届毕业生个人求职信
2013/09/23 职场文书
销售代理协议书
2014/09/30 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
实习推荐信格式模板
2015/03/27 职场文书