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函数里不再存在条件分支语句
本文详细解释了如何在JavaScript中实现事件监听函数,包括使用addEventListener和attachEvent方法,并在特定条件下选择最合适的方法。
29万+

被折叠的 条评论
为什么被折叠?



