为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JavaScript

/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;

}

unknow-80.png     }

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

unknow-80.png 阻止默认行为(兼容)

阻止右键菜单

document.oncontextmenu = function(){

alert("右键被按下");

return false;

}

ev.preventDefault(); //非IE

ev.returnValue = false;   //IE

unknow-80.png 事件监听器(兼容)

n target.addEventListener("click", fun, false); --标准浏览器

n target.attachEvent("onclick",fun); --IE浏览器(执行顺序按照绑定的反序)

n removeEventListene()/detachEvent() 移除事件绑定的参数和添加事件绑定是一致的。

事件流描述的是从页面中接收事件的顺序。

n 可以绑定多个函数在一个对象上。

n 执行顺序按照绑定的顺序来(IE反向)。

n 第三个参数是否使用捕捉(反向冒泡),默认false,为冒泡。

unknow-80.png 事件捕获

n 从父元素向子元素,直至触发事件元素


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消