当前位置:网站首页>JS手写兼容性事件绑定
JS手写兼容性事件绑定
2022-04-23 05:57:00 【zjLOVEcyj】
class bindEvent {
constructor (element) {
this.element = element
}
// 绑定
addEventListener (type, handler) {
if (this.element.addEventListener) {
this.element.addEventListener(type, handler, false)
} else if (this.element.attachEvent) {
this.element.attachEvent('on'+type, handler, false)
} else {
this.element['on'+type] = handler
}
}
// 解绑
removeEventListener (type, handler) {
if (this.element.removeEventListener) {
this.element.removeEventListener(type, handler, false)
} else if (this.element.detachEvent) {
this.element.detachEvent('on'+type, handler, false)
} else {
this.element['on'+type] = null
}
}
// 阻断
static stopPropogation (e) {
if (e.stopPropogation) {
e.stopPropogation
} else {
e.cancelBubble = true
}
}
// 默认拦截
static preventDefault (e) {
if (e.preventDefault) {
e.preventDefault
} else {
e.returnValue = false
}
}
}
版权声明
本文为[zjLOVEcyj]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cyj5201314/article/details/124016637
边栏推荐
猜你喜欢
Error in created hook: “ReferenceError: “Promise”未定义“
VHDL arbitrary frequency divider (50% duty cycle)
2020 Jiangsu Collegiate Programming Contest-A.Array
ASP.NET CORE3.1 Identity注册用户后登录失败的解决方案
数据可视化进一步学习
浏览器中堆栈内存的底层处理
Informatics one book pass - small ball
js根据名字将数组对象中名字相同的项组成一个相同的数组
JS的解析与执行过程
Parse PSD files and map them into components
随机推荐
Oracle改成mysql
Add serial number to El table
uniapp 自定义搜索框适配小程序对齐胶囊
Multi cycle verification of El form
.Net Core 下使用 Quartz —— 【5】作业和触发器之触发器的通用属性和优先级
邮箱字符串判断
.Net Core 下使用 Quartz —— 【1】快速开始
查漏补缺(一)
Joseph sequence segment tree o (nlogn)
C language code specification
js中的作用域与作用域链
自用学习笔记-connectingString配置
Node模版引擎(ejs, art-template)
各进制数之间的互相转换
查漏补缺(六)
条形码与二维码的生成
导入文件时候 new FormData()
China creates vast research infrastructure to support ambitious climate goals
【ORACLE与mysql的区别】
百度地图案例-缩放组件、地图比例组件