首頁  >  文章  >  web前端  >  事件的冒泡比bubble的程式碼分析

事件的冒泡比bubble的程式碼分析

不言
不言原創
2018-07-14 16:06:572269瀏覽

這篇文章主要介紹了對事件冒泡比bubble的程式碼分析,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

冒泡的概念就是 當子元素觸發事件的時候 對應的祖宗十八代素也會觸發相同的事件

(前提父元素也添加了一樣的事件)

eg:兒子有一個onclick  祖宗十八代也有onclick

   當點擊兒子的時候 祖先十八代的點擊事件也會被觸發

   有時候這種狀況會導致很多問題 所以要阻止冒泡

#   只有被點擊的元素才會觸發事件

   不是所有的事件都會冒泡

   onblur onfocus  onload  onerror 沒有

  其實事件的觸發一共有過程:捕獲階段--->處於目標階段---->冒泡階段

  標準瀏覽器冒泡順序子元素-->父輩-->body-->document-- ->window

  IE 子元素-->父輩-->body-->document

  接下來上程式碼 很容易 做一個相容處理就好了

<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>阻止冒泡</title>
 </head>
 <body>
     <input type="button"  id="cancelBubble" value="取消冒泡"/>
    <script type="text/javascript">
          var btn=document.getElementById("cancelBubble");
          document.onclick=function(){
            alert("冒泡");
          }
          btn.onclick=function(event){
          var event=event||window.event;//兼容
          if(event && event.stopPropagation){
               
               event.stopPropagation();
          
          }
          else{
              //IE 678
             event.cancelBubble=true;
          }
           alert("没有冒泡");
          
          }
    </script>
 </body>
</html>

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

相關推薦:

對於NodeJS如何操作訊息佇列RabbitMQ的分析

 JavaScript如何實作檔案的下載功能

以上是事件的冒泡比bubble的程式碼分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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