码迷,mamicode.com
首页 > 编程语言 > 详细

javascript——事件捕获冒泡

时间:2015-03-20 12:44:09      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

事件冒泡:obj.addEventListener(eventType ,fn ,false);

false => 冒泡(出来)

事件捕获:obj.addEventListener(eventType ,fn ,true);

true => 捕获(进去)

 

HTML部分:

<div id="div1">
div1
    <div id="div2">
    div2
        <div id="div3">div3</div>
    </div>
</div>

CSS部分:

div {padding: 50px;}
#div1 {border: 1px solid red;}
#div2 {border: 1px solid blue;}
#div3 {border: 1px solid green; position: absolute; top: 300px;}

JS部分:

window.onload = function(){

        var oDiv1 = document.getElementById(‘div1‘);
        var oDiv2 = document.getElementById(‘div2‘);
        var oDiv3 = document.getElementById(‘div3‘);

        function fn1(){
            alert(this.id);
        }

        /*oDiv1.onclick = fn1;
        oDiv2.onclick = fn1;
        oDiv3.onclick = fn1;*/

        //false = 冒泡
        //告诉div,如果有一个出去的事件触发了你,你就去执行fn1这个函数
        /*oDiv1.addEventListener(‘click‘ ,fn1 ,false);
        oDiv2.addEventListener(‘click‘ ,fn1 ,false);
        oDiv3.addEventListener(‘click‘ ,fn1 ,false);    //div3->div2->div1*/
        
        //true = 捕获
        //告诉div,如果有一个进去的事件触发了你,你就去执行fn1这个函数
        /*oDiv1.addEventListener(‘click‘ ,fn1 ,true);
        oDiv2.addEventListener(‘click‘ ,fn1 ,true);
        oDiv3.addEventListener(‘click‘ ,fn1 ,true);        //div1->div2->div3*/

        //当点击div1时,弹出1;(div1冒泡)
        //当点击div2时,弹出2、1;(div2捕获->div1冒泡)
        //当点击div3时,弹出2、3、1;(div2捕获->div3冒泡->div1冒泡)
        oDiv1.addEventListener(‘click‘ ,function(){
            alert(1);
        } ,false);

        oDiv2.addEventListener(‘click‘ ,function(){
            alert(2);
        } ,true);

        oDiv3.addEventListener(‘click‘ ,function(){
            alert(3);
        } ,false);

    };

 

javascript——事件捕获冒泡

标签:

原文地址:http://www.cnblogs.com/bokebi520/p/4353134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!