JS事件の泡立ち行為


バブルの物理的挙動を想像してみてください.つまり、アップフローです.jsのバブル挙動もそうです.サブエレメントのイベントを実行すると、挙動がアップフローし、親エレメントも同じ挙動を実行します(挙動が同じで、実行関数が異なる場合があります).
構文の形式:
stopPropagation()
例:
<body>    
    <div id="div">        
        <button id="btn">  </button>    
    </div>    
    <script>        
        document.getElementById("btn").addEventListener("click",showBtn);//                 
        document.getElementById("div").addEventListener("click",showDiv);// div              
        function showBtn(event) {            
            alert("hello");            
	}        
	function showDiv() {            
	    alert("word");        
	}    
    </script>
</body>

ブラウザで「hello」と「word」のプロンプトボックスが順次ポップアップされます.
<body>    
    <div id="div">        
        <button id="btn">  </button>    
    </div>    
    <script>        
        document.getElementById("btn").addEventListener("click",showBtn);//                 
        document.getElementById("div").addEventListener("click",showDiv);// div              
        function showBtn(event) {            
            alert("hello");            
     event.stopPropagation();
 }        
 function showDiv() {            
     alert("word");        
 }    
    </script>
</body>

この時eventが加わった.stopPropagation()メソッドでは、親要素divのクリックイベントは実行されず、ボタンのクリックイベントは1回のみ実行され、イベントのバブル挙動が阻止されます.