這篇文章主要介紹js中事件傳播機制的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
事件的默認傳播機制:
捕獲階段:從外向里依次查找元素
目標階段:從當前事件源本身的操作
冒泡階段:從內到外依次觸發相關的行為(我們最常用的就是冒泡階段)
具體見下圖:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #outer{ margin:20px auto; padding:20px; width:300px; height:300px; background:#008000; } #inner{ padding:20px; width:200px; height:200px; background:blue; } #center{ padding:20px; width:100px; height:100px; background:yellow; } </style> </head> <body> <div id='outer'> <div id='inner'> <div id='center'></div> </div> </div> <script> var outer = document.getElementById('outer'),inner = document.getElementById('inner'),center = document.getElementById('center'); //使用DOM0級事件綁定給元素的某一個行為綁定的方法,都是在行為觸發后的冒泡階段把方法執行的 document.body.onclick = function(){ console.log('body') } outer.onclick = function(){ console.log('outer') } inner.onclick = function(){ console.log('inner') } center.onclick = function(){ console.log('center') } //addEventListener 第一個參數是行為的類型 第二個參數是給當前的行為定義的方法 第三個參數是控制在哪個階段發生:true 在捕獲階段發生 false在冒泡階段發生 document.body.addEventListener('click',function(){ console.log('body') },false) outer.addEventListener('click',function(){ console.log('outer') },true) inner.addEventListener('click',function(){ console.log('inner') },false) //輸出 outer inner body </script> </body> </html>
以上是“js中事件傳播機制的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。