1、向window.onload追加事件
function addLoadEvent(func){
var oldEvent=window.onload;
if(typeof window.onload != "function"){ //说明还没有添加事件
window.onload=func;
}else{
window.onload=function(){
oldEvent();
func();
}
}
}
2、跨浏览器事件注册
function addHanlder(target,type,func,isCatch){
if(target.addEventListener){
target.addEventListener(type,func,isCatch);
}else if(target.attachEvent){
target.attachEvent('on'+type,func);
}
}
isCatch:是否在事件捕获阶段进行事件注册,true事件捕获,false事件冒泡。
该方法允许为同一个元素上的一个事件注册多个事件处理程序。
3、跨浏览器取消事件
function removeHandler(target,type,func,isCatch){
if(target.removeEventListener){
target.removeEventListener(type,func,isCatch);
}else if(target.detachEvent){
target.detachEvent('on'+type,func);
}
}
本代码示例摘自《JavaScript DOM 编程艺术》,在此记录,作为备忘。