老生常谈js动态添加事件--- 事件委托


Posted in Javascript onJuly 19, 2016

其所谓的动态添加事件实质就是指js中的事件委托。

我们知道在js中,事件处理只能绑定在当前被选中的元素上,换句话也就是说,事件处理只能绑定在当前文档已经存在的元素上!但是,往往小伙伴们都会遇到一个问题就是,我的元素是后来动态添加到页面的,而我又想给该元素绑定事件,怎么处理?

为了说明白这一问题,我们假设需要给后来添加到当前页面的元素添加click事件。

解决这一问题的核心就是利用js的委托事件。委派事件的优势就是可以给未存在的元素绑定事件,而且委派事件往往开销也会更小!

题外话:举一个最简单的例子:当页面上有1000个div的时候,如果直接给div绑定click事件,其会为1000个元素绑定事件。但是,如果用事件委托,只需要一个元素绑定事件即可。PS:希望????履芄蝗媚忝靼资录??械暮?濉?/p>

我们只是想知道动态创建的元素如何添加事件,你说这么多做什么,做什么...

好吧,言归正传,看具体实现:

// 模拟动态创建元素li
$.ajax({
  type: 'get',
  data: {},
  success: function () {        
    $('<li>').addClass('aaa').html('11111111').appendTo($('body'));
  },
});

// 给为我们刚刚动态创建的元素添加事件
$(document).on('click', 'li[class=aaa]', function(){
  console.log('ddd');
});

以上这篇老生常谈js动态添加事件--- 事件委托就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
GreyBox技术总结(转)
Nov 23 Javascript
Javascript图像处理—亮度对比度应用案例
Jan 03 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
windows8.1+iis8.5下安装node.js开发环境
Dec 12 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
Oct 15 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
H5上传本地图片并预览功能
May 08 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 Javascript
vue中的适配px2rem示例代码
Nov 19 Javascript
JS实现网页烟花动画效果
Mar 10 Javascript
Bootstrap表单布局
Jul 19 #Javascript
一次$.getJSON不执行的简单记录
Jul 19 #Javascript
深入浅析javascript中的作用域(推荐)
Jul 19 #Javascript
javascript弹出带文字信息的提示框效果
Jul 19 #Javascript
总结在前端排序中遇到的问题
Jul 19 #Javascript
ECMAScript6快速入手攻略
Jul 18 #Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
Jul 18 #Javascript
You might like
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
php 如何获取数组第一个值
2013/08/06 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
Node.js的特点详解
2017/02/03 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
Python中的变量和作用域详解
2016/07/13 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
python中subprocess批量执行linux命令
2018/04/27 Python
python sys.argv[]用法实例详解
2018/05/25 Python
python迭代dict的key和value的方法
2018/07/06 Python
python3实现点餐系统
2019/01/24 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
监理员的岗位职责
2013/11/13 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
董事长秘书工作职责
2014/06/10 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
五年级下册复习计划
2015/01/19 职场文书
入党自荐书范文
2015/03/05 职场文书
MySQL池化框架学习接池自定义
2022/07/23 MySQL