js浏览器兼容性问题--整合(上)

今天,整理了一些解决常见的浏览器兼容的一些方法,有需要的朋友可以看看!
1.其他浏览器与IE浏览器,事件对象的兼容写法:

var e = eve ? eve : window.event;

2.其他浏览器与IE浏览器,阻止事件冒泡的兼容写法:

//IE浏览器:
e.cancelBubble = true;
//其他浏览器:
e.stopPropagation();
//封装的写法:
function stopBubble(e){
			if(e.stopPropagation){
				e.stopPropagation();
			}else{
				e.cancelBubble = true;
			}
		}

3.其他浏览器与IE浏览器,阻止默认事件的兼容写法:

//IE浏览器:
e.returnValue = false;
//其他浏览器:
e.preventDefault();

//封装的写法:
function stopDefault(e){
			if(e.preventDefault){
				e.preventDefault();
			}else{
				e.returnValue = false;
			}
		}

4.其他浏览器与IE浏览器,事件监听的兼容写法:

//IE浏览器:
元素.attachEvent("onclick",function(){}};
//其他浏览器:
元素.addEventListener("click",function(){}};

//封装的写法:绑定事件与删除事件
//绑定:
function addEvent(ele,eventType,callback){
			if(ele.attachEvent){
				ele.attachEvent("on"+eventType,callback);
			}else{
				ele.addEventListener(eventType,callback);
			}
		}
//删除:
function removeEvent(ele,eventType,callback){
	if(ele.detachEvent){
		ele.detachEvent("on"+eventType,callback);
	}else{
		ele.removeEventListener(eventType,callback);
	}
}

5.其他浏览器与IE浏览器,事件委托的兼容写法:

function eveEnt(achild,callback){
	return function(eve){
		var e = eve || window.event;
		var target = e.target || e.srcElement;
		for(var i=0;i<achild.length;i++){
			if(achild[i] === target){
				callback.bind(target)(e);
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值