阻止事件冒泡

以前知道有事件冒泡,但一直遇到过,今天修改程序终于遇到了。现在总结几点

  1:什么叫事件冒泡

       在js时间处理机制中有2种事件,捕获事件事件和冒泡事件。冒泡事件是从事件源开始执行然后依次调用上一层的相同事件,知道window对象。捕获事件正巧相反。

 2:阻止事件冒泡的几种方式:

     a:在jquery中直接在事件函数末尾返回false

   

$("form").bind( 
  "submit", 
  function() { 
    return false; 
   } 
);

  

 

 b:原始的js阻止事件冒泡

 

function stopEventBubble(event){    
      var e=event || window.event;    
     if (e && e.stopPropagation){        
          e.stopPropagation();           
         } else{      
           e.cancelBubble=true;       
       }   
   }

  

      c:阻止浏览器默认事件

 

var el = window.document.getElementById("a");
    el.onclick = function (e) {
        //如果提供了事件对象,则这是一个非IE浏览器
        if (e && e.preventDefault) {
            //阻止默认浏览器动作(W3C) 
            e.preventDefault();
        }
        else {
            //IE中阻止函数器默认动作的方式 
            window.event.returnValue = false;
            return false;
        }
    }

  

     

posted @ 2016-01-12 22:41  舒莉  阅读(1140)  评论(0编辑  收藏  举报