js事件代理
2016-02-29 22:36
471 查看
1,什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。
也就是:利用冒泡的原理,把事件加到父级上,触发执行效果。
好处呢:1,提高性能。
我们可以看一个例子:需要触发每个li来改变他们的背景颜色。
这样我们就可以做到li上面添加鼠标事件。
但是如果说我们可能有很多个li用for循环的话就比较影响性能。
下面我们可以用事件委托的方式来实现这样的效果。html不变
这里要用到事件源 event对象 事件源 不管在哪个事件中
只要你操作的那个元素就是事件源
IE : window.event.srcElement
标准下:event.target
nodeName: 找到元素的标签名
好处2,新添加的元素还会有之前的事件。
e这个变量表示的是一个事件对象,我们只需要写一点点跨浏览器的代码来返回目标元素,在IE里目标元素放在srcElemnt属性中,而在其它浏览器里则是target属性。用于处理指定和删除事件处理程序的操作:addEventListener()和removeEventListener()。所有DOM节点中都包含这两个方法,并且它们都接受3
个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程
也就是:利用冒泡的原理,把事件加到父级上,触发执行效果。
好处呢:1,提高性能。
我们可以看一个例子:需要触发每个li来改变他们的背景颜色。
这样我们就可以做到li上面添加鼠标事件。
但是如果说我们可能有很多个li用for循环的话就比较影响性能。
下面我们可以用事件委托的方式来实现这样的效果。html不变
这里要用到事件源 event对象 事件源 不管在哪个事件中
只要你操作的那个元素就是事件源
IE : window.event.srcElement
标准下:event.target
nodeName: 找到元素的标签名
好处2,新添加的元素还会有之前的事件。
e这个变量表示的是一个事件对象,我们只需要写一点点跨浏览器的代码来返回目标元素,在IE里目标元素放在srcElemnt属性中,而在其它浏览器里则是target属性。用于处理指定和删除事件处理程序的操作:addEventListener()和removeEventListener()。所有DOM节点中都包含这两个方法,并且它们都接受3
个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后这个布尔值参数如果是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程
相关文章推荐
- 页面加载,给删除的超链接添加事件
- 织梦js广告不显示原因,dedecms后台不显示广告预览(最新2016年2月29日)
- JavaScript王者归来02
- servlet和jsp
- WEB开发者必备的7个JavaScript函数
- JS实现电子时钟
- 前端之JavaScript第一天学习(3)-JavaScript输出
- javascript面向对象编程
- 前端之JavaScript第一天学习(2)-JavaScript 使用
- JSP/Servlet认识
- 前端之JavaScript第一天学习(1)-JavaScript 简介
- pixi.js webgl库
- Json工具Demo(一)
- JS-011-颜色进制转换(RGB转16进制;16进制转RGB)
- 160229-01、web页面常用功能js实现
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- 学习笔记之js 字符串截取与数组截取
- AnjularJS 指令
- js+html写的弱智游戏,坦克发射
- Elasticlunr.js 简单介绍