JavaScript 兼容旧版浏览器的 addEvent 与 removeEvent 实现
本文介绍了一段基于 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]);
}
}
anime.js 快速入门:怎么引入库并编写第一个 DOM 动画
2026-11-05 14:22:43
在线JS解密后变量名仍乱码?结合浏览器DevTools调试还原
2026-11-04 20:26:01
怎么在浏览器中运行JavaScript代码并查看输出结果
2026-11-04 09:07:33
JS 获取屏幕分辨率:window.screen.width 与 height 用法
2026-11-04 08:52:48
为什么推荐用DOMContentLoaded代替window.onload初始化JS
2026-11-04 08:42:33
