var IeUtil = {
/**
* 获取event对象
* @param ev
*/
getEvent : function(ev){
ev = ev || event;
},
/**
* 阻止冒泡
* @param ev
*/
stopBubble : function (ev){
if(!ev){
event.cancelBubble = true;
}else{
ev.stopPropagation();
}
},
/**
* 阻止浏览器默认行为
* @param ev
*/
preventDefault : function (ev){
if(!ev){
event.returnValue = false;
}else {
ev.preventDefault();
}
},
/**
* 添加事件监听
* @param node 元素节点
* @param type 事件类型
* @param handler 函数
* @param isBubble 是否冒泡
*/
eventListener : function(node,type,handler,isBubble){
// 非IE
if(typeof attachEvent == "undefined"){
node.addEventListener(type,handler,isBubble);
} else{
node.attachEvent("on"+type,handler,isBubble);
}
},
/**
* 移除监听
* @param node
* @param type
* @param handler
*/
removeListener : function(node,type,handler){
if(typeof detachEvent == "undefined"){
node.removeEventListener("on" + type,handler);
} else{
node.detachEvent("on" + type,handler); }
},
/**
* 获取内部样式
* @param id 对象id
* @param styleAll 改变的样式
* @returns {*}
*/
headerStyle : function(id,styleAll){
if(id.currentStyle){
return id.currentStyle[styleAll];
}else{
return getComputedStyle(id,false)[styleAll];
}
},
/**
* 鼠标各键点击事件
*/
mouseKey : function(){
document.onmousedown = function(ev){
//在低版本IE中event是一个全局变量
if(ev){
alert(ev.button);
}
else{
ev = window.event;//IE
if(ev.button==1){
alert(0);
}
else if(ev.button==4){alert(1);
}else{
alert(2);
}
}
}
},
/**
* 获取前一个元素节点
* @param obj
* @returns {*}
*/
previousSib : function(obj){
if(obj.previousElementSibling){
return obj.previousElementSibling;
}else{
return obj.previousSibling;
}
},
/**
* 获取后一个元素节点
* @param obj
* @returns {*}
*/
nextSib : function(obj){
if(obj.nextElementSibling){
return obj.nextElementSibling;
}else{
return obj.nextSibling;
}
},
/**
* 输入文本框值发生变化的触发事件
* @param node
*/
inputValue : function(node){
if(typeof attachEvent == "undefined"){
//非IE下
node.addEventListener("input",function(){
console.log(node.value);
},false);
}else{
node.attachEvent("onpropertychange",function(){
console.log(node.value);
});
}
}};
IE兼容封装
最新推荐文章于 2023-02-02 11:07:54 发布