javaScript事件机制兼容【详细整理】


Posted in Javascript onJuly 23, 2016

【添加事件机制】  addEventListener  和  attachEvent

[W3C]

addEventListener('click' , function(){alert('Hello World')} ,false )  //W3C规范添加事件(IE8及以上不兼容);  第一个参数为事件类型 ,第二个为事件程序 ,第三个 false为事件冒泡,true为事件捕获

[IE]

attachEvent('onclick',function(){alert('Hello World')})  //IE添加事件;  第一个参数为事件类型(需要加on) ; 第二个为事件程序 ; 因为IE只支持事件冒泡,所以只有两个参数

[跨浏览器兼容]

function insertEvent(obj,Event,fun){

if(obj.addEvenListener){

 
 addEventLitener(Event,fun,false)


}else if(obj.attach){



attachEvent('on'+Event,fun)


}


}

【删除事件机制】 removeEventListener  detachEvent

[W3C] removeEventListener

removeEventListener()    //利用addEventListener新增的事件只能通过removeEventListener来删除;

[注意] //以下这种删除事件方式是错误的,因为事件程序必须不能是一个匿名函数

addEventListener('click' , function(){alert('Hello World')} ,false )

removeEventListener('click',function(){alert('Hello World')},false) 

 [解决]

addEventListener('click' , box ,false );

removeEventListener('click',box,false) ;

function box(){

alert('Hello World');

}

[跨浏览器兼容]

function deleteEvent(obj,Event,fun){

if(obj.removeEventListener){



removeEventListener(Event,fun,false);


}else if(obj.detachEvent){



detachEvent('on'+Event,fun)


 }

}

 【阻止特定事件的默认行为】

[preventDefault  和returnValue]

[W3C] preventDefault

[IE]  reutrnValue

[跨浏览器兼容]

function(event){

event=event || window.event;


if(event.preventDefault){



event.preventDefault()


}else{


 event.returnValue=false;


}

}

【获取目标对象】

[target 和 srcElement]

function(event){

event=event || window.event;


if(event.target){



return event.target;


}else if(event.srcElement){



return event.srcElement;


}

 


}

以上这篇javaScript事件机制兼容【详细整理】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery与prototype框架的详细对比
Nov 21 Javascript
jquery显示隐藏input对象
Jul 21 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
Sep 17 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
基于JavaScript实现轮播图原理及示例
Apr 10 Javascript
在Vue中使用echarts的实例代码(3种图)
Jul 10 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
7个好用的JavaScript技巧分享(译)
May 07 Javascript
vue props 一次传多个值实例
Jul 22 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 #Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 #Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
Jul 22 #Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 #Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
Jul 22 #Javascript
详细探究ES6之Proxy代理
Jul 22 #Javascript
jquery常用的12个小功能
Jul 22 #Javascript
You might like
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
js星星评分效果
2014/07/24 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
vue实现购物车的监听
2020/04/20 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
使用Python生成url短链接的方法
2015/05/04 Python
pygame播放音乐的方法
2015/05/19 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
python模块如何查看
2020/06/16 Python
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
家长写给老师的建议书
2014/03/13 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
授权委托书格式范文
2014/08/02 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
党员个人总结范文
2015/02/14 职场文书
高二英语教学反思
2016/03/03 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
Java中API的使用方法详情
2022/04/06 Java/Android
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers