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

http://www.aspxhome.com/javascript/skills/200712/262128.htm


就是说用Div框住flash  Div的鼠标事件不传递给Body

文中说的方法记录一下
/*---------------------------
    功能:停止事件冒泡
    ---------------------------
*/

    
function stopBubble(e) {
        
//如果提供了事件对象,则这是一个非IE浏览器
        if ( e && e.stopPropagation )
            
//因此它支持W3C的stopPropagation()方法
            e.stopPropagation();
        
else
            
//否则,我们需要使用IE的方式来取消事件冒泡
            window.event.cancelBubble = true;
    }

    
//阻止浏览器的默认行为
    function stopDefault( e ) {
        
//阻止默认浏览器动作(W3C)
        if ( e && e.preventDefault )
            e.preventDefault();
        
//IE中阻止函数器默认动作的方式
        else
            window.event.returnValue 
= false;
        
return false;
    }


使用方法
//监视用户何时把鼠标移到元素上,
    //为该元素添加红色边框
    unionDom[i].onmouseover = function(e) {
        
this.style.border = "1px solid red";
        stopBubble( e );
    }
;
    
//监视用户何时把鼠标移出元素,
    //删除我们所添加的红色边框
    unionDom[i].onmouseout = function(e) {
        
this.style.border = "0px";
        stopBubble( e );
    }
;

uniconDom[i]是页面的一个html标记

 

posted on 2009-03-04 09:58  5201314  阅读(23113)  评论(1编辑  收藏  举报

导航