事件代理用到了事件冒泡和目标元素。而任何一个元素的目标元素都是一开始的那个元素。 这里首先要注意event的target与currentTarget的区别。 target:表示触发事件的元素。currentTarget:表示事件绑定的元素。 只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而
分类:
Web程序 时间:
2016-03-16 17:23:37
阅读次数:
186
JavaScript事件代理(委托)一般用于以下情况: 1. 事件注册在祖先级元素上,代理其子级元素。可以减少事件注册数量,节约内存开销,提高性能。 2. 对js动态添加的子元素可自动绑定事件。 之前一直用各种js库的事件代理,如 jQuery,非常方便实用。今天尝试用原生 js 实现该功能。 1
分类:
Web程序 时间:
2016-02-29 14:21:48
阅读次数:
218
事件代理: html代码: <ul id="ul1"> <li><a>目标1</a></li> <li><a>目标2</a></li> </ul> js代码: var ul1=document.getElementById("ul1");ul2.addEventListener('click',fu
分类:
Web程序 时间:
2016-02-22 15:59:11
阅读次数:
132
$("#container").delegate(".item", "mouseover", function (event) { $(this).find('.covers').css({display:'block'}); });
分类:
其他好文 时间:
2016-02-17 12:32:30
阅读次数:
144
第十一章 一、jQuery性能优化 1、使用最新版本的jQuery类库 2、使用合适的选择器 3、缓存对象 4、循环操作DOM时,尽可能减少DOM操作 5、建议使用简单for()或者while()循环来出处理,而不是$.each() 6、使用事件代理 7、将你的代码转化成jQuery插件 8、使用j
分类:
Web程序 时间:
2016-02-01 02:04:48
阅读次数:
131
为什么要优化: 1、每一个函数都是一个对象,会占用内容 2、需要添加事件的Dom节点越多,就要花更多的时间去给那些节点添加处理函数,延迟整个页面的交互,因为先得把事件都加上去 : ( 优化1:使用事件代理 <ul id=”myLinks”> <li id=”goSomewhere”>Go somew
分类:
其他好文 时间:
2016-01-28 15:27:08
阅读次数:
126
事件代理的时候,使用事件对象中的srcElement属性,获取触发元素。IE浏览器支持window.event.srcElement , 而firefox支持window.event.target。因为removeChild()删除孩子元素,所以要删除当前元素el,先要使用parentNode找到父...
分类:
Web程序 时间:
2015-12-24 00:25:07
阅读次数:
170
很多网站都有这种功能,主要为了让用户在长篇大论中比较迅速的跳到自己想要看的内容处,比如bootstrap就有相应的功能。介绍一种非常简便可以实现这种功能的方式。思路:1.这里要用到点击事件,因为点击处可能数量较多,因此最好用事件代理来处理,可以提高性能。2.当点击一个按钮时,能够获取到与他相对应的元...
分类:
Web程序 时间:
2015-12-16 12:22:14
阅读次数:
136
转自:http://www.cnblogs.com/silence516/archive/2009/09/03/delegateEvent.html 如果你想给网页添加点JavaScript的交互性,也许你已经听过JavaScript的事件代理(event delegation),并且觉得这是...
分类:
编程语言 时间:
2015-09-29 16:13:27
阅读次数:
152