阻止冒泡和取消默认事件(默认行为)

1.阻止冒泡 

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

       当Event 对象的 cancelable为false时,表示没有默认行为,这时即使有默认行为,调用preventDefault也是不会起作用

2.取消默认事件(默认行为)

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

  w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false;

3.return false

jq 下:既阻止默认行为又停止冒泡  return false

js 原生: 阻止默认行为 不会停止冒泡

原文地址:https://www.cnblogs.com/zhouhongdan/p/12665108.html