詳解addEventListener的三個參數之useCapture
addEventListener 有三個參數:第一個參數表示事件名稱(不含 on,如 "click");第二個參數表示要接收事件處理的函數;第三個參數為 useCapture,本文就講解它。
<div id="outDiv">
<div id="middleDiv">
<div id="inDiv">請在此點擊鼠標。</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);
上述是我們測試的代碼,根據 info 的顯示來確定觸發(fā)的順序,有三個 addEventListener,而 useCapture 可選值為 true 和 false,所以 2*2*2,可以得出 8 段不同的程序。
•全為 false 時,觸發(fā)順序為:inDiv、middleDiv、outDiv;
•全為 true 時,觸發(fā)順序為:outDiv、middleDiv、inDiv;
•outDiv 為 true,其他為 false 時,觸發(fā)順序為:outDiv、inDiv、middleDiv;
•middleDiv 為 true,其他為 false 時,觸發(fā)順序為:middleDiv、inDiv、outDiv;
•……
最終得出如下結論:
•true 的觸發(fā)順序總是在 false 之前;
•如果多個均為 true,則外層的觸發(fā)先于內層;
•如果多個均為 false,則內層的觸發(fā)先于外層。
以上就是本文的全部內容了,希望大家能夠喜歡。
- Javascript 的addEventListener()及attachEvent()區(qū)別分析
- addEventListener 的用法示例介紹
- window.addEventListener來解決讓一個js事件執(zhí)行多個函數
- document.addEventListener使用介紹
- JS在IE和FF下attachEvent,addEventListener學習筆記
- 事件綁定之小測試 onclick && addEventListener
- javascript attachEvent和addEventListener使用方法
- addEventListener()第三個參數useCapture (Boolean)詳細解析
- 講兩件事:1.this指針的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件處理上的區(qū)別
- addEventListener()與removeEventListener()解析
相關文章
JavaScript offset實現鼠標坐標獲取和窗口內模塊拖動
在頁面開發(fā)時我們少不了各種鼠標交互動作,那么JavaScript中如何實現鼠標坐標獲取和窗口內模塊拖動,本文就詳細的介紹一下,感興趣的可以了解一下2021-05-05
詳解BootStrap表單驗證中重置BootStrap-select驗證提示不清除的坑
這篇文章主要介紹了詳解BootStrap表單驗證中重置BootStrap-select驗證提示不清除的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09

