事件冒泡和事件捕獲
阿新 • • 發佈:2018-09-07
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>
瀏覽器效果:
事件冒泡和事件捕獲