js中的事件捕捉模型與冒泡模型實(shí)例分析
本文實(shí)例講述了js中的事件捕捉模型與冒泡模型。分享給大家供大家參考。
具體實(shí)現(xiàn)方法如下:
實(shí)例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>
實(shí)例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:第三個(gè)參數(shù)為可選參數(shù),默認(rèn)情況下為false,表示冒泡模型,即先觸發(fā)最小的層(id為son的div);而如果加上true參數(shù),則說(shuō)明是捕捉模型(從html-->body--->div),按這樣的層次來(lái)觸發(fā)。
實(shí)例1的html代碼有兩個(gè)div,小的div包含在大的div內(nèi),點(diǎn)擊小的div時(shí),先是會(huì)觸發(fā)alert('par')事件;然后觸發(fā)alert('son')整件。實(shí)例2正好相反。
如果是采用"對(duì)象.onclick"屬性的方式來(lái)觸發(fā)事件,采用的是冒泡模型。
IE不支持addEventListener,而是使用attachEvent。但attachEvent不支持第三個(gè)參數(shù),它沒(méi)有捕捉模型。
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript實(shí)現(xiàn)獲取瀏覽器版本、瀏覽器類型
這篇文章主要介紹了javascript實(shí)現(xiàn)獲取瀏覽器版本,javascript實(shí)現(xiàn)獲取瀏覽器類型兩大方面,對(duì)這方面感興趣的朋友可以參考一下2015-12-12WebView啟動(dòng)支付寶客戶端支付失敗的問(wèn)題小結(jié)
這篇文章主要介紹了WebView啟動(dòng)支付寶客戶端支付失敗的問(wèn)題小結(jié)的相關(guān)資料,需要的朋友可以參考下2017-01-01JS通過(guò)調(diào)用微信API實(shí)現(xiàn)微信支付功能的方法示例
這篇文章主要介紹了JS通過(guò)調(diào)用微信API實(shí)現(xiàn)微信支付功能的方法,結(jié)合具體實(shí)例形式分析了javascript微信支付接口的調(diào)用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-06-06Javascript驗(yàn)證Visa和MasterCard信用卡號(hào)的方法
這篇文章主要介紹了Javascript驗(yàn)證Visa和MasterCard信用卡號(hào)的方法,涉及javascript正則驗(yàn)證的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07用JS動(dòng)態(tài)改變表單form里的action值屬性的兩種方法
下面小編就為大家?guī)?lái)一篇用JS動(dòng)態(tài)改變表單form里的action值屬性的兩種方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05現(xiàn)代 JavaScript 開(kāi)發(fā)編程風(fēng)格Idiomatic.js指南中文版
下面的章節(jié)描述的是一個(gè) 合理 的現(xiàn)代 JavaScript 開(kāi)發(fā)風(fēng)格指南,并非硬性規(guī)定。其想送出的核心理念是高度統(tǒng)一的代碼風(fēng)格(the law of code style consistency)。2014-05-05原生JS實(shí)現(xiàn)各種運(yùn)動(dòng)之復(fù)合運(yùn)動(dòng)
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)各種運(yùn)動(dòng)之復(fù)合運(yùn)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08JavaScript無(wú)縫滾動(dòng)效果的實(shí)例代碼
本文給大家分享一段實(shí)例代碼有關(guān)js實(shí)現(xiàn)無(wú)縫滾動(dòng)效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-03-03