JavaScript 兼容旧版浏览器的 addEvent 与 removeEvent 实现

作者:窗边听雨

时间:2026-10-22

浏览:276

本文介绍了一段基于 John Resig 思路的 JavaScript 事件处理封装代码,旨在解决旧版浏览器(如 IE)与现代标准浏览器在事件绑定与解绑上的差异。代码通过检测 addEventListener 和 attachEvent 的存在,实现了统一的 addEvent 和 removeEvent 函数,确保在不同环境下能正确添加和移除事件监听器。

文章目录

兼容旧版浏览器的 addEvent 与 removeEvent 实现

网上搜来的,看样子不错,记一笔。


// heavily based on the Quirksmode addEvent contest winner, John Resig


// addEvent


function addEvent(obj,type,fn){


if(obj.addEventListener) obj.addEventListener(type,fn,false);


else if(obj.attachEvent){


obj["e"+type+fn]=fn;


obj[type+fn]=function(){obj["e"+type+fn](window.event);}


obj.attachEvent("on"+type,obj[type+fn]);


    }
}

//------------------------------------

}


}


// removeEvent


function removeEvent(obj,type,fn){


if(obj.removeEventListener) obj.removeEventListener(type,fn,false);


else if(obj.detachEvent){


obj.detachEvent("on"+type,obj[type+fn]);


  }
}

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章