js中的事件捕捉模型與冒泡模型實例分析
本文實例講述了js中的事件捕捉模型與冒泡模型。分享給大家供大家參考。
具體實現(xiàn)方法如下:
實例1:
<head>
<script type="text/javascript">
window.onload = function(){
document.getElementById('par').addEventListener('click',function() {alert('par');},true);
document.getElementById('son').addEventListener('click',function() {alert('son');},true);
}
</script>
<style type="text/css">
#par{width:300px;height:200px;background:gray;}
#son{width:200px;height:100px;background:green;}
</style>
</head>
<body>
<div id="par">
<div id="son"></div>
</div>
</body>
</html>
實例2:
<head>
<script type="text/javascript">
window.onload = function(){
document.getElementById('par').addEventListener('click',function() {alert('par');});
document.getElementById('son').addEventListener('click',function() {alert('son');});
}
</script>
<style type="text/css">
#par{width:300px;height:200px;background:gray;}
#son{width:200px;height:100px;background:green;}
</style>
</head>
<body>
<div id="par">
<div id="son"></div>
</div>
</body>
</html>
addEventListener:第三個參數(shù)為可選參數(shù),默認(rèn)情況下為false,表示冒泡模型,即先觸發(fā)最小的層(id為son的div);而如果加上true參數(shù),則說明是捕捉模型(從html-->body--->div),按這樣的層次來觸發(fā)。
實例1的html代碼有兩個div,小的div包含在大的div內(nèi),點擊小的div時,先是會觸發(fā)alert('par')事件;然后觸發(fā)alert('son')整件。實例2正好相反。
如果是采用"對象.onclick"屬性的方式來觸發(fā)事件,采用的是冒泡模型。
IE不支持addEventListener,而是使用attachEvent。但attachEvent不支持第三個參數(shù),它沒有捕捉模型。
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
javascript實現(xiàn)獲取瀏覽器版本、瀏覽器類型
這篇文章主要介紹了javascript實現(xiàn)獲取瀏覽器版本,javascript實現(xiàn)獲取瀏覽器類型兩大方面,對這方面感興趣的朋友可以參考一下2015-12-12BootStrap Table復(fù)選框默認(rèn)選中功能的實現(xiàn)代碼(從數(shù)據(jù)庫獲取到對應(yīng)的狀態(tài)進行判斷是否為選中狀態(tài))
本文通過實例代碼給大家介紹了BootStrap Table復(fù)選框默認(rèn)選中功能(從數(shù)據(jù)庫獲取到對應(yīng)的狀態(tài)進行判斷是否為選中狀態(tài)),代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-07-07JS通過調(diào)用微信API實現(xiàn)微信支付功能的方法示例
這篇文章主要介紹了JS通過調(diào)用微信API實現(xiàn)微信支付功能的方法,結(jié)合具體實例形式分析了javascript微信支付接口的調(diào)用方法與相關(guān)注意事項,需要的朋友可以參考下2017-06-06Javascript驗證Visa和MasterCard信用卡號的方法
這篇文章主要介紹了Javascript驗證Visa和MasterCard信用卡號的方法,涉及javascript正則驗證的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07用JS動態(tài)改變表單form里的action值屬性的兩種方法
下面小編就為大家?guī)硪黄肑S動態(tài)改變表單form里的action值屬性的兩種方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05現(xiàn)代 JavaScript 開發(fā)編程風(fēng)格Idiomatic.js指南中文版
下面的章節(jié)描述的是一個 合理 的現(xiàn)代 JavaScript 開發(fā)風(fēng)格指南,并非硬性規(guī)定。其想送出的核心理念是高度統(tǒng)一的代碼風(fēng)格(the law of code style consistency)。2014-05-05