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中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
javaScript对文字按照拼音排序实现代码
Dec 27 Javascript
Select标签下拉列表二级联动级联实例代码
Feb 07 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
May 07 Javascript
回顾Javascript React基础
Jun 15 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
关于JS模块化的知识点分享
Oct 16 Javascript
如何利用JavaScript实现二叉搜索树
Apr 02 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
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Python修改DBF文件指定列
2020/12/19 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
德国网上宠物店:Zoobio
2018/05/23 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
财务会计专业求职信范文
2013/12/31 职场文书
投标单位介绍信
2014/01/09 职场文书
财务总监管理职责范文
2014/03/09 职场文书
学历公证委托书
2014/04/09 职场文书
班级读书活动总结
2014/06/30 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
商务经理岗位职责
2014/08/03 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书