• 事件的冒泡与捕获


    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <style>
    div{position:absolute;margin:8px 20px;}
    #div1{ 400px;height: 200px;border: 1px solid red;}
    #div2{ 200px;height: 100px;border:1px solid green;}
    #div3{ 100px;height: 50px;border: 1px solid yellow;}
    </style>
    <script>
    window.onload=function()
    {
    /*
    * true:捕获 进去时触发
    * false:冒泡 出去触发
    */
    var adiv=document.getElementsByTagName("div");
    adiv[0].addEventListener("click",function(){alert ("进1");},true); //默认使用的是false冒泡
    adiv[2].addEventListener("click",function(){alert ("进3");},true);
    adiv[2].addEventListener("click",function(){alert ("出3");},false);
    adiv[0].addEventListener("click",function(){alert ("出1");},false);

    /*addEventListener函数的第三个参数是布尔值,true代表捕获。false代表冒泡,
    * true:捕获--------《告诉该对象,触发它的事件从外向内经过时,执行》
    * false:冒泡--------冒泡本是某个对象触发某事件后会将其传递给父级
    * 在这里可理解为《告诉对象,触发它的事件由内向外经过时,执行》
    * true or false 相当于门卫,来决定是进去还是出去时执行第二个参数的函数
    *
    *
    * 本例中的可测试
    * (1)、点击div3===》不是直接 执行div3的点击事件,而是从div1到div2到div3《进来》
    * 再div3到div2到div1《出去》,事件的冒泡与捕获都是从document开始到目标节点,
    * 再从目标节点到document结束
    * 例如点击div2就是 进1--->出1 因为div2没有设置弹窗,并且不会深入的到div3
    */
    }
    </script>
    </head>
    <body>
    <div id="div1">div1
    <div id="div2">div2
    <div id="div3">div3</div>
    </div>
    </div>
    </body>
    </html>

    本人小白,博客作为在线笔记,若有错误,还望指出,转载链接截图等皆为学习,若有侵权,请告知,
  • 相关阅读:
    linux添加超级用户
    MongDB配置方法
    【bzoj5174】[Jsoi2013]哈利波特与死亡圣器 二分+树形dp
    【bzoj3560】DZY Loves Math V 欧拉函数
    【bzoj5157】[Tjoi2014]上升子序列 树状数组
    【uoj#317】[NOI2017]游戏 2-SAT
    【bzoj5146】有趣的概率 微积分
    【bzoj4695】最假女选手 线段树区间最值操作
    【bzoj4355】Play with sequence 线段树区间最值操作
    【loj2319】[NOIP2017]列队 Splay(卡过)
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyao/p/7728487.html
Copyright © 2020-2023  润新知