勿重复检测浏览器

系统 1840 0

拿添加事件示例

 

Js代码 复制代码   收藏代码
  1. // 方式1   
  2. function  addEvent(el, type, fn){   
  3.      if (el.addEventListener){   
  4.         el.addEventListener(type, fn,  false );   
  5.     } else {   
  6.         el.attachEvent( 'on' +type, fn)   
  7.     }   
  8. }   
  9.   
  10. // 方式2   
  11. var  addEvent = document.addEventListener ?   
  12.          function (el, type, fn) {el.addEventListener(type, fn,  false );} :   
  13.          function (el, type, fn) {el.attachEvent( 'on' +type, fn)};  
    // 方式1
function addEvent(el, type, fn){
	if(el.addEventListener){
		el.addEventListener(type, fn, false);
	}else{
		el.attachEvent('on'+type, fn)
	}
}

// 方式2
var 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

勿重复检测浏览器


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论