EventUtil跨浏览器的事件处理:

 1 var EventUtil={
 2 addHandler:function(element,type,handler){
 3     if(element.addEventListener){  //检测DOM2级方法
 4         element.addEventListener(type,handler,false);
 5     } else if(element.attachEvent){  //检测IE方法
 6         element.attachEvent("on"+type,handler);
 7     } else{
 8         element["on"+type]=handler;   //使用DOM0方法
 9     }
10 },
11 removeHandler:function(element,type,handler){
12     if(element.removeEventListener){  //检测DOM2级方法
13         element.removeEventListener(type,handler,false);
14     } else if(element.detachEvent){  //检测IE方法
15         element.detachEvent("on"+type,handler);
16     } else{
17         element["on"+type]=null;   //使用DOM0方法
18     }
19 }

调用方法:

1 EventUtil.addHandler(Element, Eventype, EventFunction);
2 //添加事件
3 
4 EventUtil.removeHandler(Element, Eventype, EventFunction);
5 //移除事件

出自Professional JavaScript For Web Developers 3rd Eddition