首頁  >  文章  >  web前端  >  jQuery阻止事件冒泡實例分析

jQuery阻止事件冒泡實例分析

不言
不言原創
2018-07-03 14:12:591476瀏覽

這篇文章主要介紹了jQuery阻止事件冒泡的方法,結合實例形式分析了jQuery阻止事件冒泡的原理、常用實現方法,並結合完整實例形式分析了jQuery阻止事件冒泡的相關操作技巧,需要的朋友可以參考下

本文實例講述了jQuery阻止事件冒泡。分享給大家供大家參考,具體如下:

我們在平時的開發過程中,肯定會遇到在一個p(這個p可以是元素)包裹一個p的情況,但是呢,在這兩個p上都加入了事件,如果點擊裡面的p我們希望處理這個p的事件,但是呢,我們不希望外層的p的事件也執行,這時候我們就要用到阻止冒泡。

通俗點來說吧,你在家裡看電視,躲在自己的小房間,但是你不希望聲音傳到隔壁父母的耳朵裡,這時候,你可能躲在被窩裡,或者牆壁的隔音效果很好,阻隔聲音可以理解為阻止冒泡。

阻止事件冒泡的三種手段

1、return false:可以阻止預設事件和冒泡事件

2、event.stopPropagation/IE下event.cancelBubble  = true;:可以阻止冒泡事件但是允許預設事件

3、event. preventDefault();/IE下event.returnValue = false:可以阻止預設事件但是允許冒泡事件

上面的三種方法運用在不同的場景,可以合理運用,下面是程式碼,可以自己做一些測試:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>jQuery阻止冒泡</title>
  <style>
    .p1{
      width: 140px;
      border: 1px solid blue;
    }
    .p2{
      width: 100px;
      height: 100px;
      margin: 20px;
      border: 1px solid red;
    }
  </style>
</head>
<body>
<p class="p1">
  <p class="p2">
    点我呀!!!!
  </p>
</p>
<a href="http:www.baidu.com" rel="external nofollow" id="a1">百度</a>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $(&#39;.p1&#39;).bind(&#39;click&#39;,function(){
    alert("p1");
  });
  $(&#39;.p2&#39;).bind(&#39;click&#39;,function(){
    alert("p2");
//    return false;//也可以通过return false 阻止冒泡
    if(window.event){//IE下阻止冒泡
      event.cancelBubble = true;
    }else{
      event.stopPropagation();
    }
  });
  $(&#39;#a1&#39;).bind(&#39;click&#39;,function(){
    if(window.event){//IE下阻止默认事件
      event.returnValue = false;
    }else{
      event.preventDefault();
    }
    alert("我是链接");
    //return false;//如果不添加任何阻止事件,先弹框,后跳转,我们可以通过return false阻止跳转
  });
</script>
</body>
</html>

運行結果:

##以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

基於Jquery easyui 選取特定的tab

有關jquery與DOM節點操作方法與屬性記錄

利用jQuery實作WordPress中@的ID懸浮顯示評論內容

##

以上是jQuery阻止事件冒泡實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn