最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

addEventListener()第三個(gè)參數(shù)useCapture (Boolean)詳細(xì)解析

 更新時(shí)間:2013年11月07日 08:55:55   作者:  
true的觸發(fā)順序總是在false之前;如果多個(gè)均為true,則外層的觸發(fā)先于內(nèi)層;如果多個(gè)均為false,則內(nèi)層的觸發(fā)先于外層

舉例

<div id="div1">
  <div id="div2">
    <div id="div3">
      <div id="div4">
      </div>
    </div>
  </div>
</div>

如果在 d3 上點(diǎn)擊鼠標(biāo),事件流是這樣的:

捕獲階段 在 div1 處檢測是否有 useCapture 為 true 的事件處理程序,若有,則執(zhí)行該程序,然后再同樣地處理 div2。

目標(biāo)階段 在 div3 處,發(fā)現(xiàn) div3 就是鼠標(biāo)點(diǎn)擊的節(jié)點(diǎn),所以這里為目標(biāo)階段,若有事件處理程序,則執(zhí)行該程序,這里不論 useCapture 為 true 還是 false。

冒泡階段 在 div2 處檢測是否有 useCapture 為 false 的事件處理程序,若有,則執(zhí)行該程序,然后再同樣地處理 div1。

addEventListener 有三個(gè)參數(shù):第一個(gè)參數(shù)表示事件名稱(不含 on,如 "click");第二個(gè)參數(shù)表示要接收事件處理的函數(shù);第三個(gè)參數(shù)為 useCapture,本文就講解它。

<div id="outDiv">
<div id="middleDiv">
    <div id="inDiv">請?jiān)诖它c(diǎn)擊鼠標(biāo)。</div>
</div>
</div>

<div id="info"></div>

var outDiv = document.getElementById("outDiv");
var middleDiv = document.getElementById("middleDiv");
var inDiv = document.getElementById("inDiv");
var info = document.getElementById("info");

outDiv.addEventListener("click", function () { info.innerHTML += "outDiv" + "<br>"; }, false);
middleDiv.addEventListener("click", function () { info.innerHTML += "middleDiv" + "<br>"; }, false);
inDiv.addEventListener("click", function () { info.innerHTML += "inDiv" + "<br>"; }, false);

上述是我們測試的代碼,根據(jù) info 的顯示來確定觸發(fā)的順序,有三個(gè) addEventListener,而 useCapture 可選值為 true 和 false,所以 2*2*2,可以得出 8 段不同的程序。

•全為 false 時(shí),觸發(fā)順序?yàn)椋篿nDiv、middleDiv、outDiv;

•全為 true 時(shí),觸發(fā)順序?yàn)椋簅utDiv、middleDiv、inDiv;

•outDiv 為 true,其他為 false 時(shí),觸發(fā)順序?yàn)椋簅utDiv、inDiv、middleDiv;

•middleDiv 為 true,其他為 false 時(shí),觸發(fā)順序?yàn)椋簃iddleDiv、inDiv、outDiv;

•……

最終得出如下結(jié)論:

•true 的觸發(fā)順序總是在 false 之前;

•如果多個(gè)均為 true,則外層的觸發(fā)先于內(nèi)層;

•如果多個(gè)均為 false,則內(nèi)層的觸發(fā)先于外層。

相關(guān)文章

最新評論

景东| 永定县| 温宿县| 大洼县| 仙桃市| 龙井市| 河津市| 武山县| 来宾市| 土默特左旗| 武安市| 景德镇市| 垣曲县| 都江堰市| 寿阳县| 浮梁县| 巴塘县| 宁远县| 漾濞| 松原市| 电白县| 旺苍县| 宜宾市| 黄平县| 常宁市| 吉安市| 多伦县| 阜新| 高碑店市| 宜兰县| 正阳县| 台山市| 子长县| 突泉县| 咸阳市| 新兴县| 南皮县| 乌苏市| 海门市| 吉木萨尔县| 义乌市|