天天看点

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>
           

继续阅读