事件兼容性问题的处理

事件对象的获取:

正常浏览器:事件处理函数的第一个形参

IE:需要寻找window的一个属性 event

兼容性处理:var e=eve||window.event

btn.onclick=function(eve){

var e=eve||window.event

}

键盘事件的事件对象——判断键盘按键的ASCII值

正常浏览器:事件对象.keyCode

IE:window.which

兼容性处理:var e=eve.keyCode || window.which

btn.onclick=function(eve){

var e=eve.keyCode||window.which

//逻辑短路的处理方式


}

添加事件监听事件

正常浏览器:元素.addEventListener(参数1,参数2,参数3) 

参数1:事件类型

参数2:事件处理函数

参数3:布尔值

布尔值为false 默认 事件冒泡

布尔值为true 事件捕获

IE:元素.attachEvent(参数1,参数2)

IE没有参数2,只有事件冒泡

参数1:事件类型="on"+事件类型

参数2:事件处理函数

兼容性问题的处理:封装函数

function addEvent(ele,type,cb){
if(ele.addEvetListener){
ele.addEventListener(type,cb,false);
}else{
ele.attachEvent("on"+type,cb)}

删除监听事件

正常浏览器:元素.removeEvent(参数1,参数2,参数3) 

参数1:事件类型

参数2:事件处理函数

参数3:布尔值

布尔值为false 默认 事件冒泡

布尔值为true 事件捕获

IE:元素.detachEvent(参数1,参数2)

IE没有参数2,只有事件冒泡

参数1:事件类型 ="on"+事件类型

参数2:事件处理函数

兼容性问题的处理:封装函数

function deleteEvent(ele,type,cb){
if(ele.removeEvent){
ele.removeEvent(type,cb,false);
}else{
ele.detachEvent("on"+type,cb)}

阻止默认事件

正常浏览器:事件对象.preventDefault()

IE:事件对象.returnValue=false;

处理兼容:

function stopDefault(e){
if(e.preventDefault){
e.preventDefault();}else{
e.returnValue=false;}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值