封装常用的Javascript跨浏览器方法

Posted 奔跑的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装常用的Javascript跨浏览器方法相关的知识,希望对你有一定的参考价值。

var EventUntil={
	// 跨浏览器的添加事件方法
	addHandler:function(element,type,handler){
		if(element.addEventListener){
			element.addEventListener(type,handler,false);
		}else if(element.attachEvent){
			element.attachEvent(‘on‘+type,handler);
		}else{
			element[‘on‘+type]=handler;
		}
	},// 注意此处的逗号

	// 跨浏览器的移除事件方法
	removeHandler:function(element,type,handler){
		if(element.removeEventListener){
			element.removeEventListener(type,handler,false);
		}else if(element.detachEvent){
			element.detachEvent(‘on‘+type,handler);
		}else{
			element[‘on‘+type]=null;
		}
	},

	// 跨浏览器的事件对象
	// 返回对event对象的引用
	getEvent:function(event){
		return event ? event : window.event;
	},
	// 返回事件的目标
	getTarget:function(event){
		return event.target || event.srcElement;
	},
	// 取消事件的默认行为
	preventDefault:function(event){
		if(event.preventDefault){
			event.preventDefault();
		}else{
			event.returnValue=false;
		}
	},
	// 阻止事件冒泡
	stopPropagation:function(event){
		if(event.stopPropagation){
			event.stopPropagation();
		}else{
			event.cancelBubble=true;
		}
	},

	//通过class获取元素(数组集合)
	getByClass:function(clsName,parent){
		var oParent = parent ? document.getElementById(parent) : document,
			oAllel=document.getElementsByTagName(‘*‘),
			aResult=[];
		for(var i=0 ; i<oAllel.length; i++){
			if(oAllel[i].className==clsName){
				aResult.push(oAllel[i]);
			}
		}
		return aResult;
	}
}

 

以上是关于封装常用的Javascript跨浏览器方法的主要内容,如果未能解决你的问题,请参考以下文章

javaScript跨浏览器事件处理封装代码

跨浏览器的javascript事件的封装

JQuery

javascript XHR对象的封装(跨浏览器)

跨浏览器的事件对象-------EventUtil 中的方法及用法

跨平台、跨浏览器从 Javascript 播放声音的方式? [复制]