惰性加载函数----实现浏览器通用的事件绑定函数

来源:互联网 发布:免费h5制作软件 编辑:程序博客网 时间:2024/06/05 02:50

var addEvent = function(elem,type,handler){
if(window.addEventListener){
addEvent = function(elem,type,handler){
elem.addEventListener(type,handler,false);
};
}else if(window.attachEvent){
addEvent = function(elem,type,handler){
elem.attachEvent('on'+type,handler);
};
}


addEvent(elem,type,handler);
};

<ol><li><span style="font-family: Arial, Helvetica, sans-serif;">var addEvent = function(elem,type,handler){</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">if(window.addEventListener){</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">addEvent = function(elem,type,handler){</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">elem.addEventListener(type,handler,false);</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">};</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">}else if(window.attachEvent){</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">addEvent = function(elem,type,handler){</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">elem.attachEvent('on'+type,handler);</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">};</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">}</span></li><li></li><li><span style="font-family: Arial, Helvetica, sans-serif;">addEvent(elem,type,handler);</span></li><li><span style="font-family: Arial, Helvetica, sans-serif;">};</span></li></ol>


addEvent函数在第一次进入条件分支之后,在函数内部会重写这个函数,重写之后的函数就是我们期望的addEvent函数,在下一次进入addEvent函数的时候,addEvent函数里不再存在条件分支语句

0 0
原创粉丝点击