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同时提交多个Web表单的方法
Dec 26 Javascript
Javascript学习笔记5 类和对象
Jan 11 Javascript
javascript基础第一章 JavaScript与用户端
Jul 22 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
Jan 16 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
告诉你什么是javascript的回调函数
Sep 04 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
javascript RegExp 使用说明
May 21 Javascript
JavaScript数组操作详解
Feb 04 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
Feb 20 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
js实现计算器功能
Aug 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
PHP5 面向对象程序设计
2008/02/13 PHP
php中通过curl smtp发送邮件
2012/06/05 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
为数据添加append,remove功能
2006/10/03 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[03:48]大碗DOTA
2019/07/25 DOTA
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
临床医学应届生求职信
2013/11/06 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
社会公德演讲稿
2014/05/20 职场文书
生产车间标语
2014/06/11 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
合同范本之电脑出租
2019/08/13 职场文书