1. 程式人生 > >事件冒泡和事件捕獲

事件冒泡和事件捕獲

pad http eve class click true blue on() 寫法

事件冒泡有空補充(印象筆記裏)

事件捕獲

瀏覽器默認,由裏向外逐漸觸發事件,這種行為叫做事件冒泡。

利用事件監聽可以使瀏覽器,由外向裏逐漸觸發事件,這種行為叫做事件捕獲。

事件流:
事件冒泡,由裏向外逐漸觸發事件。
事件捕獲,由外向裏逐漸觸發事件。

代碼示例

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>事件捕獲</title>
        <style>
            div{padding: 50px}
            #div1{background
-color: red} #div2{background-color: blue} #div3{background-color: orange} </style> <script> window.onload = function(){ var aDivs = document.getElementsByTagName(‘div‘); for(var i = 0; i < aDivs.length; i++){
//通過事件監聽的方式添加事件就會 看到的現象就會和事件冒泡的方向相反 aDivs[i].addEventListener("click", function(){ alert(this.id); }, true); } /* 事件冒泡的瀏覽器兼容寫法 */ /* function stopBubble(e){ if(e.cancelBubble){ e.cancelBubble = true; }else{ e.stopPropagation(); } }
*/ /* 阻止事件冒泡 */ } /* 上述的行為是瀏覽器的默認行為。 瀏覽器默認,由裏向外逐漸觸發事件,這種行為叫做事件冒泡。 事件流: 事件冒泡,由裏向外逐漸觸發事件。 事件捕獲,由外向裏逐漸觸發事件。 */ </script> </head> <body> <div id = ‘div1‘> <div id = ‘div2‘> <div id = ‘div3‘></div> </div> </div> </body> </html>

瀏覽器效果:

技術分享圖片

事件冒泡和事件捕獲