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压缩工具:X2JSCompactor
Jun 13 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 Javascript
JavaScript程序设计之JS调试
Dec 09 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 Javascript
详解vue-router基本使用
Apr 18 Javascript
静态页面实现 include 引入公用代码的示例
Sep 25 Javascript
微信小程序视图容器(swiper)组件创建轮播图
Jun 19 Javascript
javascript实现blob加密视频源地址的方法
Aug 08 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 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
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
JavaScript 基础问答三
2008/12/03 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
python判断windows隐藏文件的方法
2014/03/21 Python
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
python 性能提升的几种方法
2016/07/15 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
公司领导推荐信
2013/11/12 职场文书
国庆节演讲稿
2014/05/27 职场文书
小学课外阅读总结
2014/07/09 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
工作收入证明模板
2014/10/10 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis