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获取滚动距离的方法
May 30 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
高性能JavaScript循环语句和条件语句
Jan 20 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
Javascript中prototype与__proto__的关系详解
Mar 11 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
Angular项目如何升级至Angular6步骤全纪录
Sep 03 Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 Javascript
全面解析Vue中的$nextTick
Dec 24 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+SQLite存储方案
2010/09/04 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
详解php中 === 的使用
2016/10/24 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
理解javascript对象继承
2016/04/17 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
tab栏切换原理
2017/03/22 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
python3解析库lxml的安装与基本使用
2018/06/27 Python
python cs架构实现简单文件传输
2020/03/20 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
pycharm修改file type方式
2019/11/19 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
函授大专自我鉴定
2013/11/01 职场文书
会计应聘求职信范文
2013/12/17 职场文书
董事长秘书职责
2014/01/31 职场文书
科技之星事迹材料
2014/06/02 职场文书
2014年标准化工作总结
2014/12/17 职场文书
英文商务邀请函范文
2015/01/31 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
Python图片检索之以图搜图
2021/05/31 Python
Python list列表删除元素的4种方法
2021/11/01 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers