读书人

js 添加事件 attachEvent 跟 addEvent

发布时间: 2013-11-29 00:21:24 作者: rapoo

js 添加事件 attachEvent 和 addEventListener 的用法
一般我们在JS中添加事件,是这样子的



功能非常强悍,解决IE的this指向问题,event总是作为第一个参数传入,跨浏览器就更不在话下。

最后贡献一个HTML5工作组的版本:
01var addEvent=(function(){02if(document.addEventListener){03return function(el,type,fn){04if(el.length){05for(var i=0;i<el.length;i++){06addEvent(el[i],type,fn);07}08}else{09el.addEventListener(type,fn,false);10}11};12}else{13return function(el,type,fn){14if(el.length){15for(var i=0;i<el.length;i++){16addEvent(el[i],type,fn);17}18}else{19el.attachEvent(‘on‘+type,function(){20return fn.call(el,window.event);21});22}23};24}25})();


可能细心的读者发现了IE的attachEvent和W3C标准的addEventListener绑定多个事件的执行顺序是不一样的。
Dean Edwards的版本么怎么看明白,虽然功能强悍,但感觉有点复杂了,若有看懂的朋友帮忙给解释一下!

读书人网 >JavaScript

热点推荐