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;
		}
	}

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

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

相关推荐
niucloud-admin4 分钟前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
喵个咪7 分钟前
GoWind Admin|风行 — 开箱即用的企业级全栈中后台框架:脚本系统实战
javascript·后端·go
樱花落木兰10 分钟前
SpringBoot + ECharts 后台数据统计报表模块实战
java·javascript·spring boot·ai·log4j·github·echarts
skywalk816314 分钟前
deepseekharness在对话中,有四种模式,分别是极简、PTC、创造和标准模式,每种模式下挂载的插件、skill等数量不一样
前端·人工智能·实践
愛芳芳22 分钟前
element-plus+vite+vue3+pinpa+mock+typeScript搭建经典的电商管理后台
前端·javascript·typescript
liangshanbo121544 分钟前
面试题:常见的前端构建工具有哪些?分别适用于什么场景?
前端
事圆则缓1 小时前
Flutter 状态管理框架对比(三):Riverpod 如何连起购物车与异步价格
开发语言·javascript·flutter
linux_cfan1 小时前
videojs v10 源代码系列解读:30 · `SerialRunner` 与 `ConcurrentRunner`
前端
liangshanbo12151 小时前
面试题:页面需要发起大量 Ajax / HTTP 请求时,如何优化请求性能?
前端·http·ajax
lyz2468591 小时前
vue3页面因参数未声明而报错的常犯错误
前端·javascript·vue.js