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数组循环遍历数组内所有元素的方法
Jan 18 Javascript
js和jquery使按钮失效为不可用状态的方法
Jan 26 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
AngularJS 简单应用实例
Jul 28 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
VUE中使用Vue-resource完成交互
Jul 21 Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
vue-router定义元信息meta操作
Dec 07 Vue.js
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
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
js实现简单图片拖拽效果
2021/02/22 Javascript
python3.0 字典key排序
2008/12/24 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
读书心得体会
2013/12/28 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
早安问候语大全
2015/11/10 职场文书