attachEvent与addEventlistener兼容性
关于原生事件绑定中attachEvent与addEventlistener中兼容性以及attachEvent函数中this指代window有关问题
合计0人 | 0% |
在原生事件绑定中IE绑定中需要用到attachEvent,FF与chrome中需要用到addEventListener.
attachEvent(事件,函数)
例如:var oBtn = document.getElementById('button');
oBtn.addachEvent('onclick',function(){
alert('a');
})
oBtn.addachEvent('onclick',function(){
alert('b');
})
addEventListener(事件,函数,false)
例如:var oBtn = document.getElementById('button');
oBtn.addEventListener('click',function(){
alert('a');
},false)
oBtn.addEventListener('click',function(){
alert('b');
},false)
上面大家可以看到运用事件绑定的时候,事件的区别 一个是用onclick 一个是用到click,所以FF与chrome中的事件是不带on,而IE是必须带on的
由于出现兼容性的问题 需要封装函数
function addEvent(obj,ev,fn){
if(obj.attachEvent){
//针对IE浏览器
obj.attachEvent('on'+ev,fn)
}else{
//针对FF与chrome
obj.addEventListener(ev,fn,false)
}
}
所以上述的实例可以改写成
addEvent(oBtn,'click',function(){
alert('a');
})
addEvent(oBtn,'click',function(){
alert('b');
})
但是函数中如果出现this的话
例如:
addEvent(oBtn,'click',function(){
alert(this);
})
得到的结果是不一样的 this在IE中弹出的window,在FF与chrome中指代的是当前对象
如果要用到当前对象需要对函数进一步改造
addEvent(oBtn,'click',function(ev){
var oEvent = ev||event;
var that=oEvent.srcElement||oEvent.target;
alert(that)
})
- 本问题标题:关于原生事件绑定中attachEvent与addEventlistener中兼容性以及attachEvent函数中this指代window有关问题
- 本问题地址:http://www.educity.cn/wenda/146927.html
转载于:https://www.cnblogs.com/leo388/p/4464147.html
attachEvent与addEventlistener兼容性相关推荐
- addEventLinstener与attachEvent区别、兼容性问题
addEventLinstener与attachEvent区别.兼容性问题 我们知道,绑定事件的方法一般是这样的: //对象.事件 = 处理函数 //例如: <input type=" ...
- attachEvent 与addEventListener到底有什么区别呢?
2019独角兽企业重金招聘Python工程师标准>>> attachEvent 与addEventListener到底有什么区别呢?总结如下: 一.适应的浏览器版本不同 attach ...
- 原生js的attachEvent和addEventListener解决window.onload在一个页面只能执行一次的问题
原生js的attachEvent和addEventListener解决window.onload在一个页面只能执行一次的问题 参考文章: (1)原生js的attachEvent和addEventLis ...
- JS:attachEvent和addEventListener方法
<SCRIPT LANGUAGE="JavaScript"> <!-- /**************************************** ...
- attachEvent 与 addEventListener的使用
attachEvent与addEventListener区别 适应的浏览器版本不同,同时在使用的过程中要注意 attachEvent方法 按钮onclick addEventListener方法 按钮 ...
- js 添加事件 attachEvent 和 addEventListener 的用法
一般我们在JS中添加事件,是这样子的 obj.οnclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.οnclick=method1; obj. ...
- js 添加事件 attachEvent 和 addEventListener 的区别
1.addEventListener 适用w3c标准方法addEventListener绑定事件,如下,事件的执行顺序和绑定顺序一致,执行顺序为method1->method2->met ...
- js添加事件 attachEvent 和addEventListener的用法
一般我们在JS中添加事件,是这样子的: obj.onclick = method 这种绑定事件的方式,兼容主流浏览器,但是如果一个元素上添加多次同一个事件呢??? obj.onclick = meth ...
- js 添加事件 attachEvent 和addEventListener 的用法
2019独角兽企业重金招聘Python工程师标准>>> 一般我们在JS中添加事件,是这样子的 1 obj.οnclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个 ...
- addEvent完美封装(addEventListener兼容性封装)
addEventListener兼容各大浏览器封装 封装:addEvent.js /** * element 要绑定事件的对象,及HTML节点. * type 事件名称,attachEvent监听的事 ...
最新文章
- 【基础】EM 还是 REM?这是一个问题!
- Install 802.1x In Fedora
- 怎么自学python自动化测试-python自动化测试如何自动生成测试用例?
- 011_Vue自定义指令
- 微信遇到特殊服务器,解决微信网页授权,出现errcode:40163,errmsg:codebeenused,看似微信访问了2次这个回调接口的问题...
- 【干货】网络中常用的9个命令,超级实用
- autowired_@Autowired所有的东西!
- python自动化和教程_《手把手教你》系列练习篇之2-python+ selenium自动化测试(详细教程)...
- SpringCloud 实战:禁止直接访问后端服务
- web应用程序安全性测试_立即提高Web应用安全性的6种方法
- OPNET中使用外部文件
- el-descriptions引入代码中label不生效问题
- 龙兵智能名片多企业小程序V2.3.3-开源版
- JS_综合,全面性增删改查,多条件查询,排序,点击发货
- 舆情监测系统功能及作用
- ftp服务器设置上文件大小,ftp服务器文件上传大小设置
- Wampserver 80端口被占用
- Visual Studio 2017 version 15.9 官方最新版本下载(含那个啥码)
- c# winform 解决PictureBox 无法打印全部图片的问题
- python毕业设计能做什么工作_用python可以做什么毕业设计项目|融资公司的主要业务...
热门文章
- 计算机网络专业的论文题目,计算机网络技术专业毕业论文题目(3)
- 在线使用matlab,MATLAB在线版本使用介绍
- HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript
- proxmox VE 4.4 增加USB 重定向功能
- Linux:linux终端命令关闭pycharm
- 智能小车寻迹c语言程序,智能小车循迹记时测速程序
- 这15个网站,为设计师提供用不完的免费素材
- 下载在线播放的电影,一个下载TS文件的工具,python小白。
- Mybatis插件之自动生成不使用默认的驼峰式
- 现金支票打印模板excel_施工表格填写不规范?500套最全施工资料表格模板,可直接套用|面层|分项...