第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法理解addEventListener中的useCapture參數(shù)

無(wú)法理解addEventListener中的useCapture參數(shù)

慕桂英3389331 2019-12-07 15:00:02
我已閱讀https://developer.mozilla.org/en/DOM/element.addEventListener上的文章,但無(wú)法理解useCapture屬性。定義有:如果為true,useCapture指示用戶希望啟動(dòng)捕獲。啟動(dòng)捕獲后,所有指定類型的事件都將分派給已注冊(cè)的偵聽器,然后才分派給DOM樹中其下的任何EventTarget。在樹中冒泡的事件不會(huì)觸發(fā)指定使用捕獲的偵聽器。在此代碼中,parent事件在child之前觸發(fā),所以我無(wú)法理解其行為。Document對(duì)象的usecapture為true,child div的usecapture設(shè)置為false,并且遵循了useuseture的文檔。因此為什么document屬性優(yōu)先于child。function load() {  document.addEventListener("click", function() {    alert("parent event");  }, true);  document.getElementById("div1").addEventListener("click", function() {    alert("child event");  }, false);}<body onload="load()">  <div id="div1">click me</div></body>
查看完整描述

3 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

可以在兩種情況下激活事件:在開始(“捕獲”)和結(jié)束(“氣泡”)。事件按照其定義的順序執(zhí)行。假設(shè)您定義了4個(gè)事件監(jiān)聽器:


window.addEventListener("click", function(){console.log(1)}, false);

window.addEventListener("click", function(){console.log(2)}, true);

window.addEventListener("click", function(){console.log(3)}, false);

window.addEventListener("click", function(){console.log(4)}, true);

日志消息將按以下順序顯示:

  • 2(首先使用定義capture=true

  • 4(使用定義秒capture=true

  • 1(帶有的第一個(gè)定義的事件capture=false

  • 3(帶有的第二個(gè)已定義事件capture=false


查看完整回答
反對(duì) 回復(fù) 2019-12-07
?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

捕獲事件(useCapture = true)與冒泡事件(useCapture = false)

MDN參考


捕獲事件將在泡泡事件之前調(diào)度

事件傳播順序?yàn)?/p>

家長(zhǎng)捕捉

兒童捕捉

目標(biāo)捕獲和目標(biāo)泡沫

按照注冊(cè)順序

當(dāng)元素是事件的目標(biāo)時(shí),useCapture參數(shù)無(wú)關(guān)緊要(感謝@bam和@ legend80s)

兒童泡泡

父母泡泡

stopPropagation() 將停止流動(dòng)

使用捕獲流


演示版

結(jié)果:


家長(zhǎng)捕捉

兒童泡泡1

兒童捕捉


(因?yàn)楹⒆邮悄繕?biāo),所以捕獲和氣泡將按照他們注冊(cè)的順序觸發(fā))


兒童泡泡2

父母泡泡

var parent = document.getElementById('parent'),

    children = document.getElementById('children');


children.addEventListener('click', function (e) { 

    alert('Children Bubble 1');

    // e.stopPropagation();

}, false);


children.addEventListener('click', function (e) { 

    alert('Children Capture');

    // e.stopPropagation();

}, true);


children.addEventListener('click', function (e) { 

    alert('Children Bubble 2');

    // e.stopPropagation();

}, false);


parent.addEventListener('click', function (e) { 

    alert('Parent Capture');

    // e.stopPropagation();

}, true);


parent.addEventListener('click', function (e) { 

    alert('Parent Bubble');

    // e.stopPropagation();

}, false);

<div id="parent">

    <div id="children">

        Click

    </div>

</div>


查看完整回答
反對(duì) 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 833 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)