元素

這兩個(gè)元素都綁定了click事件,如果用戶(hù)點(diǎn)擊了p,它在div和p上都觸發(fā)了click事件,那這兩個(gè)事件處理程序哪個(gè)先執(zhí)行呢?事件順序" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

js之事件冒泡和事件捕獲詳細(xì)介紹

系統(tǒng) 1856 0

文章摘抄?http://www.jb51.net/article/42492.htm

js之事件冒泡和事件捕獲詳細(xì)介紹

?

事件捕獲階段:事件從最上一級(jí)標(biāo)簽開(kāi)始往下查找,直到捕獲到事件目標(biāo)(target)。
事件冒泡階段:事件從事件目標(biāo)(target)開(kāi)始,往上冒泡直到頁(yè)面的最上一級(jí)標(biāo)簽。

假設(shè)一個(gè)元素div,它有一個(gè)下級(jí)元素p。
<div>
  <p>元素</p>
</div>
這兩個(gè)元素都綁定了click事件,如果用戶(hù)點(diǎn)擊了p,它在div和p上都觸發(fā)了click事件,那這兩個(gè)事件處理程序哪個(gè)先執(zhí)行呢?事件順序是什么?
?
兩種模型
以前,Netscape和Microsoft是不同的實(shí)現(xiàn)方式。

Netscape中,div先觸發(fā),這就叫做事件捕獲。

Microsoft中,p先觸發(fā),這就叫做事件冒泡。

兩種事件處理順序剛好相反。IE只支持事件冒泡,Mozilla, Opera 7 和 Konqueror兩種都支持,舊版本的Opera's 和 iCab兩種都不支持 。

事件捕獲
當(dāng)你使用事件捕獲時(shí),父級(jí)元素先觸發(fā),子級(jí)元素后觸發(fā),即div先觸發(fā),p后觸發(fā)。

事件冒泡
當(dāng)你使用事件冒泡時(shí),子級(jí)元素先觸發(fā),父級(jí)元素后觸發(fā),即p先觸發(fā),div后觸發(fā)。

W3C模型
W3C模型是將兩者進(jìn)行中和,在W3C模型中,任何事件發(fā)生時(shí),先從頂層開(kāi)始進(jìn)行事件捕獲,直到事件觸發(fā)到達(dá)了事件源元素。然后,再?gòu)氖录赐线M(jìn)行事件冒泡,直到到達(dá)document。

程序員可以自己選擇綁定事件時(shí)采用事件捕獲還是事件冒泡,方法就是綁定事件時(shí)通過(guò)addEventListener函數(shù),它有三個(gè)參數(shù),第三個(gè)參數(shù)若是true,則表示采用事件捕獲,若是false,則表示采用事件冒泡。

ele.addEventListener('click',doSomething2,true)

true=捕獲

false=冒泡

傳統(tǒng)綁定事件方式
在一個(gè)支持W3C DOM的瀏覽器中,像這樣一般的綁定事件方式,是采用的事件冒泡方式。

ele.onclick = doSomething2

IE瀏覽器
如上面所說(shuō),IE只支持事件冒泡,不支持事件捕獲,它也不支持addEventListener函數(shù),不會(huì)用第三個(gè)參數(shù)來(lái)表示是冒泡還是捕獲,它提供了另一個(gè)函數(shù)attachEvent。

ele.attachEvent("onclick", doSomething2);

附:事件冒泡(的過(guò)程):事件從發(fā)生的目標(biāo)(event.srcElement||event.target)開(kāi)始,沿著文檔逐層向上冒泡,到document為止。

事件的傳播是可以阻止的:
? 在W3c中,使用stopPropagation()方法
? 在IE下設(shè)置cancelBubble = true;
在捕獲的過(guò)程中stopPropagation();后,后面的冒泡過(guò)程也不會(huì)發(fā)生了~
3.阻止事件的默認(rèn)行為,例如click <a>后的跳轉(zhuǎn)~
? 在W3c中,使用preventDefault()方法;
? 在IE下設(shè)置window.event.returnValue = false;
4.哇,終于寫(xiě)完了,一邊測(cè)試一邊寫(xiě)的額,不是所有的事件都能冒泡,例如:blur、focus、load、unload,(這個(gè)是從別人的文章里摘過(guò)來(lái)的,我沒(méi)測(cè)試)。

js之事件冒泡和事件捕獲詳細(xì)介紹


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 精品特级毛片 | 羞羞视频在线免费 | 性福演算法| av影音资源 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 久久宗合色| 欧美黄视频网站 | 国产精品久久久久久无码人妻 | 欧美八区 | 国产精品午夜电影 | 久久久久国产一区二区三区四区 | 国产精品福利短视在线播放频 | 成人亚洲区无码偷拍 | 成人黄色免费观看 | 久久99国产一区二区三区 | 亚洲精品福利在线 | 香港三级网站 | 婷婷精品国产一区二区三区日韩 | jizzjizzjizz亚洲女| 亚洲人xxxx| 国产精品吹潮在线观看中文 | 性夜黄 a 爽免费看 性xxxxx视频 | 护士hd欧美free性xxxx | 日本特级黄色录像 | 青青国产在线视频 | 日本一区二区在线视频 | 久久久久国产精品免费免费搜索 | 亚洲国产网站 | 嫩草电影院 | 99re6热视频精品免费观看 | 色播视频在线观看 | 小明成人永久视频在线观看 | 亚洲视频一区二区三区 | 蜜桃精品噜噜噜成人av | 一级片 | 国产探花在线精品一区二区 | www.伊人| 葫芦娃短视频下载 | 久久美女精品国产精品亚洲 | 久操国产 | 日韩欧美专区 |