老生常谈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 相关文章推荐
jquery JSON的解析方式
Jul 25 Javascript
jquery.validate使用攻略 第二部
Jul 01 Javascript
jquery ajax return没有返回值的解决方法
Oct 20 Javascript
JavaScript中setAttribute用法介绍
Jul 20 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
js实现图片轮播效果
Dec 19 Javascript
js判断所有表单项不为空则提交表单的实现方法
Sep 09 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 Javascript
Node接收电子邮件的实例代码
Jul 21 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
基于Proxy的小程序状态管理实现
Jun 14 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
php自定义函数之递归删除文件及目录
2010/08/08 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
2017/03/03 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
浅析Python的命名空间与作用域
2020/11/25 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
李宁官方网店:中国运动品牌
2017/11/02 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
开展创先争优活动总结
2014/08/28 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书