JavaScript动态添加事件之事件委托


Posted in Javascript onJuly 12, 2016

先给大家讲下什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。

也就是:利用冒泡的原理,把事件加到父级上,触发执行效果。

其所谓的动态添加事件实质就是指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');
});

以上所述是小编给大家介绍的JavaScript动态添加事件之事件委托,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js下弹出窗口的变通
Apr 18 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
Sep 20 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
Javascript实现单选框效果
Dec 09 Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 #Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 #Javascript
javascript加减乘除的简单实例
Jul 12 #Javascript
浅谈javascript中的加减时间
Jul 12 #Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 #Javascript
基于BootStrap环境写jQuery tabs插件
Jul 12 #Javascript
Angular 路由route实例代码
Jul 12 #Javascript
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
php实现多维数组排序的方法示例
2017/03/23 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
js时间控件只显示年月
2017/01/08 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python Flask-web表单使用详解
2017/11/18 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
大学生实习证明范本
2014/01/15 职场文书
委托公证书范本
2014/04/03 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
百家讲坛观后感
2015/06/12 职场文书
理想国读书笔记
2015/06/25 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书