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

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

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

相关推荐
青柠之夏cc1 小时前
前端拖拽功能原生实现,不引入拖拽库完成业务
开发语言·前端·python
liangshanbo12152 小时前
前端大文件切片上传怎么做?
前端
Sand(ContextGate)2 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
广州华水科技2 小时前
单北斗GNSS变形监测系统在城市安全与地质灾害中的应用前景
前端
颜进强2 小时前
20 · NestJs循环依赖与 forwardRef:容器为什么在环面前会死,"占位再补齐"怎么救
前端·后端·ai编程
颜进强3 小时前
19 · NestJs @Global 落地账:装饰器与 `isGlobal` 参数,各在什么场景上岗
前端·后端·ai编程
码艺-Alimjan3 小时前
Tauri 网站To桌面应用实战总结
前端·javascript·vue
颜进强3 小时前
18 · NestJS动态模块与 forRoot:`imports: [ConfigModule.forRoot({...})]` 到底在 import 什么
前端·后端·ai编程
YZ1225523 小时前
【Docker专题】使用Docker部署Vue-Flask项目前后端分离版【前端Docker部署】
前端·vue.js·docker
liangshanbo12153 小时前
浏览器渲染过程:高级前端面试题
前端