js 事件的傳播機制(實例講解)
事件的默認傳播機制:
捕獲階段:從外向里依次查找元素
目標(biāo)階段:從當(dāng)前事件源本身的操作
冒泡階段:從內(nèi)到外依次觸發(fā)相關(guān)的行為(我們最常用的就是冒泡階段)
具體見下圖:
<!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級事件綁定給元素的某一個行為綁定的方法,都是在行為觸發(fā)后的冒泡階段把方法執(zhí)行的 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 第一個參數(shù)是行為的類型 第二個參數(shù)是給當(dāng)前的行為定義的方法 第三個參數(shù)是控制在哪個階段發(fā)生:true 在捕獲階段發(fā)生 false在冒泡階段發(fā)生 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 事件的傳播機制(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
js循環(huán)map 獲取所有的key和value的實現(xiàn)代碼(json)
這篇文章主要介紹了js循環(huán)map 獲取所有的key和value的實現(xiàn)代碼(json),需要的朋友可以參考下2018-05-05微信小程序的數(shù)據(jù)存儲與Django等服務(wù)發(fā)送請求?講解
這篇文章主要為大家介紹了微信小程序的數(shù)據(jù)存儲與Django等服務(wù)發(fā)送請求講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04JS奇技之利用scroll來監(jiān)聽resize詳解
這篇文章主要給大家介紹了JS奇技之利用scroll來監(jiān)聽resize的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞
這篇文章主要介紹了深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞的相關(guān)資料,需要的朋友可以參考下2016-04-04javascript實現(xiàn)在下拉列表中顯示多級樹形菜單的方法
這篇文章主要介紹了javascript實現(xiàn)在下拉列表中顯示多級樹形菜單的方法,涉及javascript屬性菜單的定義、構(gòu)造及遍歷等技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08