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 在网页上单击鼠标的地方显示层及关闭层
Dec 30 Javascript
javascript函数以及基础写法100多条实用整理
Jan 13 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
JQuery给网页更换皮肤的方法
May 30 Javascript
jQuery实现复制到粘贴板功能
Feb 11 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
jQuery实现图片滑动效果
Mar 08 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
Jun 05 Javascript
微信小程序实现图片压缩
Dec 03 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中设置时区方法小结
2012/06/03 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
python处理cookie详解
2014/02/07 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
对pandas中Series的map函数详解
2018/07/25 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
Python tkinter三种布局实例详解
2020/01/06 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
运动会口号8字
2014/06/07 职场文书
政府法律服务方案
2014/06/14 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
python实现过滤敏感词
2021/05/08 Python
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
各国货币符号大全
2022/02/17 杂记
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏