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

javascript事件兼容处理以及时间冒牌、捕获

2017-12-18 16:08 399 查看
/cancelBubble阻止事件冒泡
function cancelBubble(ev){
var ev=ev||window.event;
if(ev.stopPropagation){
ev.stopPropagation();
}else{
ev.cancelBubble=true;
}
}
//获取样式
function getStyle(obj,attr){
if(getComputedStyle){
getComputedStyle(obj)[attr];

}else{
obj.currentStyle[attr];

}

}
//getClassName 通过类名获取元素
function getClassName(oclass,oparent){
var oparent=oparent||document;
var arr=[];
var element=oparent.getElementsByTagName('*');
var reg= new RegExp('\\b'+oClass+'\\b');
for(var i=0;i<element.length;i++){
if(reg.test(element.className)){
arr.push(element);
}
}
return arr;
}
//oEvent获取事件对象
function oEvent(ev){
var ev=ev||window.event;
return ev;
}
//addEvent事件绑定
function addEvent(obj,event,fn,bool){
if(obj.addEventListener){
obj.addEventListener(event,fn,bool);
}else{
obj.attachEvent('on'+event,function(){
fn.call(obj);
});
}
}
// removeEvent移除事件
function removeEvent(obj,event,fu,bool){
if(obj.removeEventListener){
obj.removeEventListener(event,fu,bool);
}else{
obj.detachEvent('on'+event,function(){
fu.call(obj);
});
}
}
//getStyle获取非行内样式
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj)[attr];
}
}
//getScrollTop滚动条
//获取滚动条的TOP
function getScrollTop(){
var top=document.documentElement.scrollTop||document.body.scrollTop;
return top;
}
//stopDefault阻止默认时间
function stopDefault(ev){
var ev=ev||window.event;
if(ev.preventDefault){
ev.preventDefault();
}else{
ev.returnValue=false;
}


}javascript中的默认行为是指javascript中事件本身具有的属性,如<a>标签可以跳转,文本框 可输入文字、字母、图片等,右键浏览器会出现菜单等行为便被称为浏览器的默认行为。

阻止默认行为(兼容)阻止右键菜单
document.oncontextmenu = function(){alert("右键被按下");return false;}
ev.preventDefault(); //非IEev.returnValue = false; //IE

事件监听器(兼容)n target.addEventListener("click", fun, false); --标准浏览器n target.attachEvent("onclick",fun); --IE浏览器(执行顺序按照绑定的反序)n removeEventListene()/detachEvent() 移除事件绑定的参数和添加事件绑定是一致的。事件流描述的是从页面中接收事件的顺序。n 可以绑定多个函数在一个对象上。n 执行顺序按照绑定的顺序来(IE反向)。n 第三个参数是否使用捕捉(反向冒泡),默认false,为冒泡。

事件捕获n 从父元素向子元素,直至触发事件元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 兼容