主要解决垮浏览器问题
my.Event={
//页面加载完成后:
readyEvent:function(fn){
if(fn==null){
fn=document;
}
oldOnload=window.onload();
if(typeof window.onload!=='function'){
window.οnlοad=fn;
}else{
window.οnlοad=function(){
oldOnload();
fn();
};
}
},
//绑定事件:
addEvent:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,handler);
}else{
element['on'+type]=handler;
}
},
//移除事件:
removeEvent:function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.datachEvent){
element.datachEvent('on'+type,handler);
}else{
element['on'+type]=null;
}
},
//阻止事件(主要阻止冒泡,因为IE不支持事件捕获):
preventDefalt:function(event){
if(event.preventDefalt){
event.preventDefalt();
}else{
event.returnValue=false;
}
},
//获取事件目标:
getTarget:function(event){
return event.target||event.srcElement;
},
//获取event对象的引用,取到事件的所有信息,确保随时能够使用event:
getEvent:function(e){
var ev=e||window.event;
if(!ev){
var c=this.getEvent.caller;
while(c){
ev=c.arguments[0];
if(ev&&Event==ev.constructor){
break;
}
c=c.caller;
}
}
return ev;
}
};
P.S. 对于var c=this.getEvent.caller;
参看:http://www.jb51.net/article/42691.htm