您现在的位置:首页 >> 前端 >> 内容

DOM事件处理跨浏览器(兼容IE)封装

时间:2017/8/21 9:34:00 点击:

  核心提示:DOM事件处理跨浏览器(兼容IE)封装var eventUtil={ /*DOM2级事件处理程序*/ //给一个元素添加事件 addHander:function(element,type...

DOM事件处理跨浏览器(兼容IE)封装

var eventUtil={							/*DOM2级事件处理程序*/
	//给一个元素添加事件
	addHander:function(element,type,hander){
		if(element.addEventListener){
			element.addEventListener(type,hander,false);	/*非IE*/
		}else if(element.attachEvent){
			element.attachEvent("on"+type,hander);		/*IE*/
		}else{
			element["on"+type]=hander;
		}
	},
	//给一个元素删除事件
	removeHander:function(element,type,hander){
		if(element.removeEventListener){
			element.removeEventListener(type,hander,false);		/*非IE*/
		}else if(element.detachEvent){
			element.detachEvent("on"+type,hander);	/*IE*/
		}else{
			element["on"+type]=null;
		}
	},
	//获取兼容所有浏览器的一个对象
	getEvent:function(event){
		return event?event:window.event;
	},
	//获取事件类型
	getType:function(event){		//此项不存在浏览器兼容问题
		return event.type;
	},
	//事件来自哪个元素
	getElement:function(event){
		return event.target || event.srcElement;
	},
	//阻止事件默认行为
	preventDefault:function(event){
		if(event.preventDefault){
			event.preventDefault();		/*非IE*/
		}else{
			event.returnValue=false;	/*IE*/
		}
	},
	//阻止事件冒泡
	stopPropagation:function(event){
		if(event.stopPropagation){
			event.stopPropagation();	/*非IE*/
		}else{
			event.cancelBubble=true;	/*IE*/
		}
	}
}

Tags:DO OM M事 事件 
作者:网络 来源:DLGDark的博客