JS之注册事件兼容性解决方案

本章介绍注册事件兼容性的解决方案

废话不多说,直接上代码:

javascript 复制代码
	function addEventListener(element, eventName, fn) {
		//判断当前浏览器是否支持 addEventListener 方法
		if (element.addEventListener) {
			element.addEventListener(eventName, fn); // 第三个参数 默认是false
		} else if (element.attachEvent) {
			element.attachEvent('on' + eventName, fn);
		} else {
			// 相当于 element.onclick = fn;
			element['on' + eventName] = fn;
		}
	}

兼容性处理的原则: 首先照顾大多数浏览器,再处理特殊浏览器

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关推荐
kyriewen3 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒3 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马4 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮4 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦4 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer4 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队5 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY5 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_5 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏5 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端