首頁 > web前端 > js教程 > 主體

詳解addEventListener的三個參數之useCapture_javascript技巧

WBOY
發布: 2016-05-16 16:09:15
原創
1696 人瀏覽過

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

複製程式碼 程式碼如下:


 

   
請在此點選滑鼠。

 



複製程式碼 程式碼如下:

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" "
"; }, false);
middleDiv.addEventListener("click", function () { info.innerHTML = "middleDiv" "
"; }, false);
inDiv.addEventListener("click", function () { info.innerHTML = "inDiv" "
"; }, false);

上述是我們測試的程式碼,根據 info 的顯示來決定觸發的順序,有三個 addEventListener,而 useCapture 可選值為 true 和 false,所以 2*2*2,可以得出 8 段不同的程式。

•全為 false 時,觸發順序為:inDiv、middleDiv、outDiv;
•全為 true 時,觸發順序為:outDiv、middleDiv、inDiv;
•outDiv 為 true,其他為 false 時,觸發順序為:outDiv、inDiv、middleDiv;
•middleDiv 為 true,其他為 false 時,觸發順序為:middleDiv、inDiv、outDiv;
•……


最後得出以下結論:

•true 的觸發順序總是在 false 之前;
•如果多個均為 true,則外層的觸發先於內層;
•如果多個均為 false,則內層的觸發先於外層。

以上就是本文的全部內容了,希望大家能夠喜歡。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!