Capture

事件捕獲

事件捕獲是由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對象開始捕獲事件。瀏覽器

相關文章
相關標籤/搜索