zoukankan      html  css  js  c++  java
  • js的捕捉事件,冒泡事件

    冒泡事件可以查询上个随笔,

    捕捉事件正好和冒泡时间正反着 

    所以这代码我把冒泡事件注释,

    html和css的内容

    <style type="text/css">
        #box1{width:500px;height:500px;background:#900;}
         #box2{width:400px;height:400px;background:#090;}
          #box3{width:300px;height:300px;background:#009;}
           #box4{width:200px;height:200px;background:#990;}
            #box5{width:100px;height:100px;background:#099;}
    </style>
    
    <body>
    <div id="box1">
        <div id="box2">
           <div id="box3">
                    <div id="box4">
                           <div id="box5">
        
                           </div>
                    </div>
           </div>
        </div>
    </div>

    js部分代码

     1 <script>
     2     window.onload=function()
     3     {
     4       //监听事件
     5         var $=function(_id){return document.getElementById(_id);}
     6         document.addEventListener("click", function(){alert("捕抓中,你点击了document")}, true);
     7         document.body.addEventListener("click", function(){alert("捕抓中,你点击了body")}, true);
     8            $("box1").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
     9               $("box2").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
    10                  $("box3").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
    11                      $("box4").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
    12                         // $("box5").addEventListener("click", function(){alert("捕抓中,你点击了id为:"+this.id +"的div")}, true);
    13   
    14 
    15      //冒泡事件
    16      // var $=function(_id){return document.getElementById(_id);}
    17         // document.addEventListener("click", function(){alert("冒泡中,你点击了document")}, false);
    18         // document.body.addEventListener("click", function(){alert("冒泡中,你点击了body")}, false);
    19         //    $("box1").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
    20         //       $("box2").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
    21         //          $("box3").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
    22         //              $("box4").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
    23         //                 // $("box5").addEventListener("click", function(){alert("冒泡中,你点击了id为:"+this.id +"的div")}, false);
    24 
    25 
    26 //删除监听事件,必须完全一样
    27 var del =function(){alert("冒泡中,你点击了id为: "+this.id +"的div")}
    28  $("box5").addEventListener("click", del, false);
    29  // $("box5").removeEventListener("click",del, false);
    30 
    31 
    32 
    33  //ie用的是attachEvent()  和detachEvent()  都有两个参数   ie11也不支持了
    34  // $("box5").attachEvent("onclick",del);
    35  // $("box5").detachEvent("onclick",del);
    36 
    37 
    38     }
    39 </script>

    其实捕捉监听事件和冒泡事件只是函数的一个参数不同,一个true,一个false。

    其实主要有时候我们实现某些功能时,需要移除捕捉和冒泡事件。

      

  • 相关阅读:
    windows安装php的redis扩展及测试(适合php个各个版本)
    golang+linux+pipline
    泰勒展开式
    微积分
    矩阵
    learning rate warmup实现
    python asyncio as_completed
    python asyncio run_until_complete
    python asyncio 使用ThreadPoolExecutor和asyncio完成阻塞IO请求
    python asyncio call_soon, call_at, call_later
  • 原文地址:https://www.cnblogs.com/biyongyao/p/5841405.html
Copyright © 2011-2022 走看看