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实现tab标签浏览效果
Feb 20 Javascript
window.ActiveXObject使用说明
Nov 08 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
Aug 14 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
Actionscript与javascript交互实例程序(修改)
Sep 22 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
Aug 31 Javascript
微信小程序实现文字无限轮播效果
Dec 28 Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 28 Javascript
vue引入Excel表格插件的方法
Apr 28 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
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
最佳JS代码编写的14条技巧
2011/01/09 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
easyui validatebox验证
2016/04/29 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python map和reduce函数用法示例
2015/02/26 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python super用法及原理详解
2020/01/20 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
PHP开发的一般流程
2013/08/13 面试题
年度考核自我评价
2014/01/25 职场文书
服装创业计划书范文
2014/02/05 职场文书
搞笑爱情保证书
2014/04/29 职场文书
国企干部对照检查材料
2014/08/22 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
四年级语文教学反思
2016/03/03 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Python基于百度AI实现抓取表情包
2021/06/27 Python