事件捕獲是由Netscape Communicator團隊提出來的,是先由最上一級的節點先接收事件,而後向下傳播到具體的節點。當用戶點擊了<div>元素,採用事件捕獲,則click事件將按照document—><html>—><body>—><div>的順序進行傳播。javascript
若在<div>和<body>上都定義了click事件,以下:html
<script type="text/javascript"> var div=document.getElementById("myDiv"); div.addEventListener("click",function(event){ alert("div"); },true); document.body.addEventListener("click",function(event){ alert("body"); },true); </script>
(注:addEventListener具體使用見本文DOM2級事件處理)java
點擊<div>,將先輸出「body」,再輸出「div」。chrome
IE9,chrome,Firefox,Opera,Safari都支持事件捕獲,可是IE8和IE8如下的版本只支持事件冒泡。儘管DOM2規範要求事件應該從document對象開始傳播,可是如今的瀏覽器實現都是從window對象開始捕獲事件。瀏覽器