读书人

勿反复检测浏览器

发布时间: 2012-09-11 10:49:03 作者: rapoo

勿重复检测浏览器

拿添加事件示例

?

?勿反复检测浏览器// 方式1function addEvent(el, type, fn){if(el.addEventListener){el.addEventListener(type, fn, false);}else{el.attachEvent('on'+type, fn)}}// 方式2var addEvent = document.addEventListener ?function(el, type, fn) {el.addEventListener(type, fn, false);} :function(el, type, fn) {el.attachEvent('on'+type, fn)};

?

方式1在函数内做判断,每次给元素添加事件都需判断一次,效率相对低一些。
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js都是采用这种分支方式。


方式2使用了两个匿名函数,仅在初始化时判断一次,后每次调用无须判断。效率相对高一些。
Ext/kissy/qwrap 采用这种分支写法。

?

?

?

转自:http://snandy.iteye.com/blog/1152280

读书人网 >Web前端

热点推荐