老生常谈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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
jquery ajax post提交数据乱码
Nov 05 Javascript
javascript中expression的用法整理
May 13 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
IDEA安装vue插件图文详解
Sep 26 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
晶体管来复再生式二管收音机
2021/03/02 无线电
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
初学者学习Python好还是Java好
2020/05/26 Python
Python map及filter函数使用方法解析
2020/08/06 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
工程管理专业毕业生自荐信
2014/01/24 职场文书
关于赌博的检讨书
2014/01/24 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
项目建议书范文
2014/05/12 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
党员心得体会范文2016
2016/01/23 职场文书
排查MySQL生产环境索引没有效果
2022/04/11 MySQL