云迈博客

您现在的位置是:首页 > 前端技术 > 原生js相关 > 正文

原生js相关

js阻止事件冒泡和取消默认事件

Yjj2020-08-21原生js相关387
取消默认事件w3c的方法e.preventDefault();阻止事件默认行为,如阻止点击提交按钮时的表单提交IE则是使用e.returnValue=false;阻止事件冒

取消默认事件

w3c的方法 e.preventDefault(); 阻止事件默认行为,如阻止点击提交按钮时的表单提交
IE则是使用e.returnValue = false;

阻止事件冒泡

w3c的方法 e.stopPropagation();
IE则使用 e.cancelBubble = true;
jQuery event.stopImmediatePropagation();方法阻止剩下的事件处理程序被执行。
该方法阻止事件在 DOM 树中向上冒泡。

阻止冒泡:
window.event? window.event.cancelBubble = true : e.stopPropagation();

return false

javascript的return false只会阻止默认行为,
jq 既能阻止默认行为,又防止对象冒泡

不支持冒泡的事件:

resize
scroll
focus
blur
mouseenter
mouseleave
load
unload

总结使用方法:

//阻止浏览器的默认行为

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

//阻止冒泡行为

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

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~