成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

js事件冒泡和事件捕獲

ermaoL / 1789人閱讀

摘要:事件冒泡事件捕獲事件委托事件冒泡事件捕獲二者聯(lián)系與區(qū)別聯(lián)系都是事件觸發(fā)時(shí)序問(wèn)題的術(shù)語(yǔ)。綁定事件方法的第三個(gè)參數(shù)是控制事件觸發(fā)順序的,默認(rèn)為,即事件冒泡若為即事件捕獲。

事件冒泡 、事件捕獲 、 事件委托 1、事件冒泡 、事件捕獲 二者聯(lián)系與區(qū)別

聯(lián)系:

(1)、都是 事件觸發(fā)時(shí)序問(wèn)題 的術(shù)語(yǔ)。
(2)、綁定事件方法(addEventListener)的第三個(gè)參數(shù)是控制事件觸發(fā)順序的,默認(rèn)為false,即事件冒泡;若為true,即事件捕獲。

區(qū)別:

(1)、事件冒泡: 從觸發(fā)事件的那個(gè)節(jié)點(diǎn)一直到document,是自下而上的去觸發(fā)事件。
(2)、事件捕獲: 從document到觸發(fā)事件的那個(gè)節(jié)點(diǎn),即自上而下的去觸發(fā)事件。
2、事件冒泡
(1)、冒泡事件圖示:

 
事件測(cè)試
//結(jié)果: 點(diǎn)擊father輸出結(jié)果: 這是父親=>father 點(diǎn)擊son輸出結(jié)果: 這是兒子=>son 這是父親=>father (事件冒泡:先son,后father)
(2)、上述代碼采用的事件冒泡機(jī)制:
1.當(dāng)點(diǎn)擊son元素時(shí),先觸發(fā)son的點(diǎn)擊事件,再觸發(fā)father的點(diǎn)擊事件,打印相應(yīng)的內(nèi)容;
2.當(dāng)點(diǎn)擊father元素時(shí),只觸發(fā)father的點(diǎn)擊事件,因?yàn)閒ather元素冒泡上去沒(méi)有dom元素設(shè)置了click事件的函數(shù)

(3)、阻止事件冒泡

e.stopPropagation();
3、事件捕獲
事件捕獲圖示:

//結(jié)果: 點(diǎn)擊father輸出結(jié)果: 這是父親=>father 點(diǎn)擊son輸出結(jié)果: 這是父親=>father 這是兒子=>son (事件捕獲:先f(wàn)ather,后son)
上述代碼采用事件捕捉機(jī)制:
1.當(dāng)點(diǎn)擊son元素時(shí),先觸發(fā)father的點(diǎn)擊事件,再觸發(fā)son的點(diǎn)擊事件,打印相應(yīng)的內(nèi)容;
2.當(dāng)點(diǎn)擊father元素時(shí),只觸發(fā)father的點(diǎn)擊事件,因?yàn)閒ather元素從上面捕捉下來(lái)一直到father元素沒(méi)有dom元素設(shè)置了click事件的函數(shù);
4、事件委托

(1)、定義

   事件委托:利用事件冒泡的原理。

(2)、使用情況: 當(dāng)有多個(gè)類(lèi)似元素需要綁定事件時(shí),一個(gè)一個(gè)去綁定既浪費(fèi)時(shí)間,又不利于性能,這時(shí)候可以使用事件委托,給他們的一個(gè)共同父級(jí)元素添加一個(gè)事件函數(shù)去處理他
們所有的事件情況,代碼如下:

  • 1234567890987654
  • 1234567890987654
  • 1234567890987654
  • 1234567890987654
  • 1234567890987654
  • 1234567890987654
注意:hover事件不能使用事件委托方式。

(3)、雖然上述例子中沒(méi)有給li添加點(diǎn)擊事件,為什么點(diǎn)擊相應(yīng)的li會(huì)產(chǎn)生效果,我們可以理解為:雖然我們沒(méi)有給li設(shè)置點(diǎn)擊事件,但是默認(rèn)的點(diǎn)擊事件是采用的時(shí)間冒泡,冒泡到父
級(jí)元素的點(diǎn)擊事件是用事件的target屬性判斷進(jìn)行點(diǎn)擊的元素

e.target 表示在事件冒泡中觸發(fā)事件的源元素。

并且e.target有很多屬性可操作:

- e.target.nodeName  //獲取事件觸發(fā)元素標(biāo)簽的name
- e.target.id  //獲取事件觸發(fā)元素的id
- e.target.className  //獲取事件觸發(fā)元素的className
- e.target.innerHTML  //獲取事件觸發(fā)元素的內(nèi)容

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96044.html

相關(guān)文章

  • JS事件冒泡捕獲

    摘要:事件冒泡與事件捕獲事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流事件發(fā)生順序的問(wèn)題。事件冒泡微軟提出了名為事件冒泡的事件流。 事件冒泡與事件捕獲 事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流(事件發(fā)生順序)的問(wèn)題??紤]下面這段代碼,就不寫(xiě)html->head,body之類(lèi)的代碼了,自行腦補(bǔ) Click me! ...

    sixleaves 評(píng)論0 收藏0
  • JS 中的事件冒泡捕獲

    摘要:在之前是只支持事件冒泡,包括之后和目前主流的瀏覽器都同時(shí)支持兩種事件。中可以用來(lái)取消事件冒泡。 剛接觸 JS 的那個(gè)時(shí)候,啥也不懂,只想著如何利用 Google、百度到的函數(shù)來(lái)解決實(shí)際的問(wèn)題,不會(huì)想到去一探究竟。 漸漸的,對(duì) JS 的語(yǔ)言的不斷深入,有機(jī)會(huì)去了解一些原理性東西。最近在看 JQuery 源碼,感觸很多,總想著用原生的 JS 去實(shí)現(xiàn)自己的一個(gè) JQuery 庫(kù)。說(shuō)實(shí)在的,J...

    Rindia 評(píng)論0 收藏0
  • 徹底搞懂JS事件冒泡捕獲

    摘要:事件冒泡與事件捕獲事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流事件發(fā)生順序的問(wèn)題。如下假設(shè)三層都有事件監(jiān)聽(tīng),這時(shí)我們點(diǎn)擊的小的藍(lán)方框,事件執(zhí)行的順序是怎么樣的呢紅黃藍(lán)事件冒泡微軟提出了名為事件冒泡的事件流。 事件冒泡與事件捕獲 事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流(事件發(fā)生順序)的問(wèn)題。 如下:假設(shè)三層div都...

    Half 評(píng)論0 收藏0
  • 徹底搞懂JS事件冒泡捕獲

    摘要:事件冒泡與事件捕獲事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流事件發(fā)生順序的問(wèn)題。如下假設(shè)三層都有事件監(jiān)聽(tīng),這時(shí)我們點(diǎn)擊的小的藍(lán)方框,事件執(zhí)行的順序是怎么樣的呢紅黃藍(lán)事件冒泡微軟提出了名為事件冒泡的事件流。 事件冒泡與事件捕獲 事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流(事件發(fā)生順序)的問(wèn)題。 如下:假設(shè)三層div都...

    zhangxiangliang 評(píng)論0 收藏0
  • 徹底搞懂JS事件冒泡捕獲

    摘要:事件冒泡與事件捕獲事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流事件發(fā)生順序的問(wèn)題。如下假設(shè)三層都有事件監(jiān)聽(tīng),這時(shí)我們點(diǎn)擊的小的藍(lán)方框,事件執(zhí)行的順序是怎么樣的呢紅黃藍(lán)事件冒泡微軟提出了名為事件冒泡的事件流。 事件冒泡與事件捕獲 事件冒泡和事件捕獲分別由微軟和網(wǎng)景公司提出,這兩個(gè)概念都是為了解決頁(yè)面中事件流(事件發(fā)生順序)的問(wèn)題。 如下:假設(shè)三層div都...

    周?chē)?guó)輝 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<