jQuery实现在新增加的元素上添加事件方法案例分析


Posted in Javascript onFebruary 09, 2017

本文实例讲述了jQuery实现在新增加的元素上添加事件方法。分享给大家供大家参考,具体如下:

最近项目组需要在新增的元素上增加时间,有人说用live方法后来使用的时候发现jQuery没有该方法(1.7以上就没了)替换为on

除了jquery api官方的例子外还有以下的例子可以在新增的元素上添加事件

$(document).on("click",'#lyysb a',function(){
  if(!$(this).hasClass('cur')){
    $(this).addClass('cur');
  } else {
    $(this).removeClass('cur');
  }
});

但是把事件绑定在docunmet就和原来的live方法没有区别了。原先的live()方法,处理函数是默认绑定在document对象上不能变的,如果DOM嵌套结构很深,事件冒泡通过大量祖先元素会导致较大的性能损失。而使用.on()方法,事件只会绑定到$()函数的选择符表达式匹配的元素上,因此可以精确地定位到页面中的一部分,而事件冒泡的开销也可以减少。

<div id="zkdiv">
  <input type="button" value="展开" id="zk" class="zk"/> <br>
</div>

例如我会在zkdiv中动态添加多个class="zk"的dom节点,也想对动态增加的节点绑定相同的事件则可以通过以下代码实现

//展开按钮点击触发事件
$("#zkdiv").on("click",".zk",function(){
  console.log("on 点击一次");
});
var html2 = "<input type='button' class='zk' value='新生成的展开' />";
$("#zkdiv").append(html2);

这样一来处理函数就绑定到#zkdiv的选择器上去了,事件冒泡导致的性能损失会大大降低(使用该方法时要确保.on前面的选择器能选择到对象 否则不起作用)

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

Javascript 相关文章推荐
jquery中获取select选中值的代码
Jun 27 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
jquery增加和删除元素的方法
Jan 14 Javascript
浅析Javascript中bind()方法的使用与实现
May 30 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
Sep 16 Javascript
使用vux实现上拉刷新功能遇到的坑
Feb 08 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
BootStrap modal实现拖拽功能
Dec 01 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
JS中实现浅拷贝和深拷贝的代码详解
Jun 05 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
jquery滚动条插件slimScroll使用方法
Feb 09 #Javascript
JS回调函数简单用法示例
Feb 09 #Javascript
Bootstrap列表组学习使用
Feb 09 #Javascript
jQuery实现获取隐藏div高度的方法示例
Feb 09 #Javascript
Bootstrap进度条学习使用
Feb 09 #Javascript
详解浏览器渲染页面过程
Feb 09 #Javascript
JavaScript 函数节流详解及方法总结
Feb 09 #Javascript
You might like
php SQL Injection with MySQL
2011/02/27 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
Vue中使用Sortable的示例代码
2018/04/07 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python+os根据文件名自动生成文本
2019/03/21 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
python中加背景音乐如何操作
2020/07/19 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
python 爬取小说并下载的示例
2020/12/07 Python
社区工作者思想汇报
2014/01/13 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
运动会稿件200字
2014/02/07 职场文书
求职毕业生自荐书
2014/02/08 职场文书
通用自荐信范文
2014/03/14 职场文书
入党函调证明材料
2014/12/24 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
无故旷工检讨书
2015/08/15 职场文书
先进个人主要事迹范文
2015/11/04 职场文书