您的位置:首页 > Web前端 > JavaScript

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

2016-04-04 11:41 661 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: