天天看点

IE和火狐中取消冒泡

/功能:停止事件冒泡

function stopBubble() {

    $(function() {  

         var e = getEvent();

        if (window.event) {

                 e.returnValue=false;

                    e.cancelBubble=true;        

            }else{

                 e.preventDefault();

                 e.stopPropagation();    

            }

        }

    );

    }

//在火狐和Ie下取event事件

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;

}

继续阅读