js绑定事件和解绑事件
发布时间 - 2026-01-11 00:51:31 点击率:次在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性

attachEvent方法 只支持IE678,不兼容其他浏览器
addEventListener方法 兼容火狐谷歌,不兼容IE8及以下
addEventListener方法
div.addEventListener('click',fn);
div.addEventListener('click',fn2);
function fn(){ console.log("春雨绵绵"); }
function fn2(){
console.log("到处潮湿");
}
attachEvent方法
div.attachEvent('onclick',fn);
div.attachEvent('onclick',fn2);
function fn(){ console.log("春雨绵绵"); }
function fn2(){
console.log("到处潮湿");
}
注意点:attachEvent方法绑定的事件是带on的,addEventListener绑定的事件是不带on的
下面我写了一个兼容了IE和火狐谷歌的方法
var div=document.getElementsByTagName("div")[0];
addEvent('click',div,fn)
function addEvent(str,ele,fn){
ele.attachEvent?ele.attachEvent('on'+str,fn):ele.addEventListener(str,fn);
}
function fn(){
console.log("春雨绵绵");
}
这样就完美的解决了兼容性的问题
有绑定事件的话,那就肯定有解绑事件,但是解绑事件和绑定事件一样,万恶的IE还是会搞特殊化
detachEvent方法 只支持IE678,不兼容其他浏览器
removeEventListener方法 兼容火狐谷歌,不兼容IE8及以下
detachEvent方法写法:
ele.detachEvent("onclick",fn);
removeEventListener的写法:
ele.removeEventListener("click",fn);
下面我写了一个兼容性的方法给大家参考,实现也是很简单
function remove(str,ele,fn){
ele.detachEvent?ele.detachEvent("on"+str,fn):ele.removeEventListener(str,fn);
}
注意点:不管是绑定事件attachEvent还是删除事件detachEvent都是要加on的,removeEventListenser和addEventListenser则不需要加on
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持
# js绑定事件的方法
# js解除绑定事件
# JS的事件绑定深入认识
# js事件驱动机制 浏览器兼容处理方法
# 关于JavaScript中事件绑定的方法总结
# js 实现一些跨浏览器的事件方法详解及实例
# 详解javascript事件绑定使用方法
# 兼容浏览器的js事件绑定函数(详解)
# 绑定
# 火狐
# 不兼容
# 写了
# 的是
# 都是
# 那就
# 多个
# 不需要
# 这两个
# 给大家
# 很简单
# 不带
# 解决了
# brush
# class
# pre
# span
# style
# addEventListener
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
如何在阿里云高效完成企业建站全流程?
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
中山网站推广排名,中山信息港登录入口?
网站制作价目表怎么做,珍爱网婚介费用多少?
大连 网站制作,大连天途有线官网?
JavaScript中的标签模板是什么_它如何扩展字符串功能
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Android 常见的图片加载框架详细介绍
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
使用Dockerfile构建java web环境
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
如何在建站之星网店版论坛获取技术支持?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何用PHP快速搭建CMS系统?
浅谈javascript alert和confirm的美化
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel如何实现一对一模型关联?(Eloquent示例)
node.js报错:Cannot find module 'ejs'的解决办法
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
想要更高端的建设网站,这些原则一定要坚持!
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Laravel如何处理CORS跨域请求?(配置示例)
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
如何在云主机快速搭建网站站点?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
MySQL查询结果复制到新表的方法(更新、插入)
如何在景安服务器上快速搭建个人网站?
,在苏州找工作,上哪个网站比较好?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
EditPlus中的正则表达式 实战(4)
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
利用JavaScript实现拖拽改变元素大小
Python制作简易注册登录系统
Laravel如何使用Gate和Policy进行授权?(权限控制)
googleplay官方入口在哪里_Google Play官方商店快速入口指南
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
教你用AI润色文章,让你的文字表达更专业
详解jQuery停止动画——stop()方法的使用
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
香港服务器建站指南:免备案优势与SEO优化技巧全解析

