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 相关文章推荐
JavaScript mapreduce工作原理简析
Nov 25 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
DOM基础教程之使用DOM设置文本框
Jan 20 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
May 05 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
封装微信小程序http拦截器过程解析
Aug 13 Javascript
echarts实现晶体球面投影的实例教程
Oct 10 Javascript
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
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
php实现socket推送技术的示例
2017/12/20 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python聊天程序实例代码分享
2013/11/18 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python从零开始创建区块链
2018/03/06 Python
在python shell中运行python文件的实现
2019/12/21 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
教师党员思想汇报
2014/01/06 职场文书
房地产广告词大全
2014/03/19 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
老公爱的承诺书
2014/03/31 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
警示教育观后感
2015/06/17 职场文书
女性健康讲座主持词
2015/07/04 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技