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 相关文章推荐
JavaScript Date对象使用总结
May 14 Javascript
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
jquery对象和DOM对象的区别介绍
Aug 09 Javascript
用javascript关闭本窗口不弹出询问框的方法
Sep 12 Javascript
纯javascript移动优先的幻灯片效果
Nov 02 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
vue.js指令v-model使用方法
Mar 20 Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
Apr 04 Javascript
如何解决vue在ios微信"复制链接"功能问题
Mar 26 Javascript
Vue指令实现OutClick的示例
Nov 16 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调用数据库的存贮过程
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
给Function做的OOP扩展
2009/05/07 Javascript
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
python远程登录代码
2008/04/29 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python 实现简单的FTP程序
2019/12/27 Python
python实现tail -f 功能
2020/01/17 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
应聘编辑职位自荐信范文
2014/01/05 职场文书
开业庆典答谢词
2014/01/18 职场文书
超市重阳节活动方案
2014/02/10 职场文书
硕士生工作推荐信
2014/03/07 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
优质服务口号
2014/06/11 职场文书
交通事故委托书范本
2014/09/28 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
Python 内置函数速查表一览
2021/06/02 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript