老生常谈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中实现简单的tabs插件功能的代码
Mar 02 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
javascript jscroll模拟html元素滚动条
Dec 18 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
AngularJS手动表单验证
Feb 01 Javascript
性能优化之代码优化页面加载速度
Mar 01 Javascript
node的process以及child_process模块学习笔记
Mar 06 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 Javascript
微信小程序实现签到弹窗动画
Sep 21 Javascript
JavaScript canvas实现跟随鼠标移动小球
Feb 09 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 定义404页面的实现代码
2012/11/19 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
js断点调试经验分享
2017/12/08 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
wxPython实现画图板
2020/08/27 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
人事专员职责
2014/02/22 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
家长学校工作方案
2014/05/07 职场文书
博士生求职信
2014/07/06 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
汉语拼音教学反思
2016/02/22 职场文书