js 事件的傳播機制(實例講解)
更新時間:2017年07月20日 08:03:10 投稿:jingxian
下面小編就為大家?guī)硪黄猨s 事件的傳播機制(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
事件的默認(rèn)傳播機制:
捕獲階段:從外向里依次查找元素
目標(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)文章
JavaScript ECMA-262-3 深入解析(二):變量對象實例詳解
這篇文章主要介紹了JavaScript ECMA-262-3變量對象,結(jié)合實例形式詳細(xì)分析了JavaScript ECMA變量對象相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04
echarts動態(tài)渲染柱狀圖背景顏色及頂部數(shù)值方法詳解
在使用echarts時,有時需要給柱狀圖設(shè)置背景,下面這篇文章主要給大家介紹了關(guān)于echarts動態(tài)渲染柱狀圖背景顏色及頂部數(shù)值的相關(guān)資料,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
js中判斷一個數(shù)是不是素數(shù)的三種方法例子
這篇文章主要給大家介紹了關(guān)于js中如何判斷一個數(shù)是不是素數(shù)的三種方法,素數(shù)(只能被1和本身整除的數(shù))規(guī)律:把這個數(shù)除以它之前的每一個數(shù)(從2開始)只要找到一個整除(余數(shù)為0)就是非素數(shù),需要的朋友可以參考下2023-10-10
js ondocumentready onmouseover onclick onmouseout 樣式
下面都是一些上面的事件觸發(fā)的事先定義的代碼。2010-07-07

