【轉】jquery-取消冒泡

轉自:http://blog.163.com/css_mm/blog/static/209182176201262665157634/

1、通過返回false來取消默認的行爲並阻止事件起泡。

jQuery 代碼:

$("form").bind(

  "submit", 

  function() { 

    return false;

   }

);

 

2、通過使用 preventDefault() 方法只取消默認的行爲。

jQuery 代碼:

$("form").bind(

  "submit", 

  function(event){
    event.preventDefault();
  }

);

 

3、通過使用 stopPropagation() 方法只阻止一個事件起泡。

jQuery 代碼:

$("form").bind(

  "submit", 

  function(event){
    event.stopPropagation();
  }

);

 

(4)總結

1.一個事件起泡對應觸發的是上層的同一事件
  特殊:如果two設置成雙擊事件,那麼在你單擊two的時候就會起泡觸發one單擊的事件
  (雙擊包含單擊)。

2.如果在click事件中,在你要處理的事件之前加上e.preventDefault();
 那麼就取消了行爲(通俗理解:相當於做了個return操作),不執行之後的語句了。

3.e.stopPropagation()只要在click事件中,就不會觸發上層click事件。

//如果提供了事件對象,則這是一個非IE瀏覽器 if ( e && e.stopPropagation )   // 因此它支持W3C的stopPropagation()方法   e.stopPropagation(); else   //否則,我們需要使用IE的方式來取消事件冒泡   window.event.cancelBubble = true; return false;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章