天天看點

DOM基礎之事件捕獲

前面我們學習了事件冒泡,那麼在DOM中與冒泡對應的就是捕獲,讓我們一起來學習捕獲及應用吧。

什麼是事件捕獲?
	捕獲型事件(event capturing):事件從最不精确的對象(document 對象)開始觸發,
	然後到最精确(也可以在視窗級别捕獲事件,不過必須由開發人員特别指定),簡單來說就是由外向内的觸發事件。

在這裡我們順便說說事件流,事件流分為事件冒泡和事件捕獲。
	冒泡  從裡向外
    捕獲  從外向裡(ie不支援 )
    既有捕獲 又有冒泡 先捕獲 後冒泡(先從外到裡  再從裡向外)
           
<div id="div1">
        111
        <div id="div2">
            222
        </div>
    </div>
<script>
        var oDiv1 = document.getElementById('div1');
        var oDiv2 = document.getElementById('div2');

        // oDiv1.addEventListener('click',function(){
        //     console.log('div1 冒泡');
        // },false)
        // oDiv2.addEventListener('click',function(){
        //     console.log('div2 冒泡');
        // },false)

        oDiv1.addEventListener('click',function(){
            console.log('div1 捕獲');
        },true)
        oDiv2.addEventListener('click',function(){
            console.log('div2 捕獲');
        },true)

        oDiv1.addEventListener('click',function(){
            console.log('div1 冒泡');
        },false)
        oDiv2.addEventListener('click',function(){
            console.log('div2 冒泡');
        },false)
         </script>
           

繼續閱讀