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

Posted 李初五

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻止浏览器冒泡事件,兼容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();//阻止冒泡
     }
}

 

以上是关于阻止浏览器冒泡事件,兼容firefox和ie的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript ie如何阻止事件冒泡

js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)

JavaScript 兼容各大浏览器阻止冒泡事件

阻止浏览器默认的事件冒泡行为

javascript阻止事件冒泡和浏览器的默认行为

js中阻止事件冒泡和浏览器默认行为