专栏首页搞前端的李蚊子阻止浏览器冒泡事件,兼容firefox和ie

阻止浏览器冒泡事件,兼容firefox和ie

//得到事件
function getEvent(){
     if(window.event)    {return window.event;}
     func=getEvent.caller;
     while(func!=null){
         var arg0=func.arguments[0];
         if(arg0){
             if((arg0.constructor==Event || arg0.constructor ==MouseEvent
                || arg0.constructor==KeyboardEvent)
                ||(typeof(arg0)=="object" && arg0.preventDefault
                && arg0.stopPropagation)){
                 return arg0;
             }
         }
         func=func.caller;
     }
     return null;
}
//阻止冒泡
function cancelBubble()
{
    var e=getEvent();
    if(window.event){
        //e.returnValue=false;//阻止自身行为
        e.cancelBubble=true;//阻止冒泡
     }else if(e.preventDefault){
        //e.preventDefault();//阻止自身行为
        e.stopPropagation();//阻止冒泡
     }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JS中const、var 和let的区别

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章。主要内容是:js中三种定义变量的方式const, var, let的区别。 1.const定义...

    李文杨
  • 微信小程序实现滚动加载更多

    1.需要用到的组件和api scroll-view(可滚动视图区域) wx.showToast(OBJECT)显示消息提示窗----显示loading小菊花用的...

    李文杨
  • JS实现一个v-if

    李文杨
  • 为什么选择SaaS?

    我自诩为工程师,喜欢造各种各样的“轮子”。喜欢钻研问题,有时候Debug到第三方库,索性直接把库里面的函数给改了,个性化成自己想要的样子。但是后来发现一个问题,...

    Fundebug
  • python内置函数3-dir()

    Help on built-in function dir in module __builtin__:

    py3study
  • 源码阅读--EventBus

    使用方法 http://blog.csdn.net/harvic880925/article/details/40660137

    刘晓杰
  • Promise对象、传参以及错误处理

    在大部分情况下我们的程序都是在进行异步操作,需要嵌套多次callback,使得程序变得复杂!ES6中提供了Promise对象,将非阻塞I/O变为阻塞I/O,把异...

    十月梦想
  • 马云:AI不应翻译成“人工智能”;马化腾:腾讯未来重心是开源

    AI应该翻译成为“机器智能”,翻译成“人工智能”是人类把自己看得过大、过高——马云

    新智元
  • 小程序调用天气接口并且渲染在页面

    五分钟上手-微信小程序组件库 iView Weapp https://www.jianshu.com/p/09b4515152ff

    祈澈菇凉
  • 读了这篇文章,对于MEAP,你不再是陌生人丨研报

    T客汇官网:tikehui.com 撰文 | 李哲 ? 上一期,我们得出的主要结论之一是,中大型企业率先展开移动信息化实践,已积累了大量移动信息化的实践经验,并...

    人称T客

扫码关注云+社区

领取腾讯云代金券