JavaScript事件委托技术实例分析


Posted in Javascript onFebruary 06, 2015

本文实例分析了JavaScript事件委托技术。分享给大家供大家参考。具体分析如下:

如果一个整体页面里有大量的按钮.我们就要为每一个按钮绑定事件处理程序.这样就会影响性能了.

首先每个函数都是对象,对象就会占用很多内存.内存中的对象越多,性能就越差.

其次,dom访问次数增多,就会导致延迟加载页面.事实上,从如何来利用好事件处理程序,还是有很好的解决方案的.

事件委托:

对事件处理程序过多的问题解决的方案就是事件委托技术.

事件委托技术利用了事件冒泡.只需指定一个事件处理程序.

我们可以为某个需要触发事件的父元素来绑定事件处理程序.

<ul id="mylist">    
  <li id="li_1">sdsdsd</li>    
  <li id="li_2">sdsdsd</li>    
  <li id="li_3">sdsdsd</li>
</ul>

现在我们要为这3个li绑定事件处理程序..

只需要在ul绑定事件处理程序.

obj.eventHandler($("mylist"),"click",function(e){
  e = e || window.event;
  switch(e.target.id){
//大家应该还记得target是事件目标,
//只要点击了事件的目标元素就会弹出相应的alert.
 case "li_1":
 alert("li_1");
 break;
 case "li_2":
 alert("li_2");
 break;
 case "li_3":
 alert("li_3");
 break
  }
})

如果在一个复杂的web应用程序中,.这种事件委托是非常实用的.

如果不采用这种方式的话,一个一个去绑定那就是数不清的事件处理程序.

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JS 继承实例分析
Nov 04 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 Javascript
JavaScript String.replace函数参数实例说明
Jun 06 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
Sep 22 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
Nov 19 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 jQuery
Angular 多模块项目构建过程
Feb 13 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 #Javascript
JavaScript 异常处理 详解
Feb 06 #Javascript
jquery中change()用法实例分析
Feb 06 #Javascript
javaScript的函数对象的声明详解
Feb 06 #Javascript
javascript实用方法总结
Feb 06 #Javascript
javascript实现限制上传文件大小
Feb 06 #Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 #Javascript
You might like
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
PHP反射API示例分享
2016/10/08 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
详解vue添加删除元素的方法
2018/06/30 Javascript
JS实现简单日历特效
2020/01/03 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python中反射用法实例
2015/03/27 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python实现图片批量压缩程序
2018/07/23 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Python守护进程实现过程详解
2020/02/10 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
ASOS英国官网:英国在线时装和化妆品零售商
2017/05/19 全球购物
大学生文员专业个人求职信范文
2014/01/05 职场文书
聚美优品广告词改编
2014/03/14 职场文书
小学生寒假家长评语
2014/04/16 职场文书
爱心捐助倡议书
2014/05/19 职场文书
经理任命书模板
2014/06/06 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python