美文网首页
事件的三个阶段

事件的三个阶段

作者: 王远清orz | 来源:发表于2019-11-04 10:15 被阅读0次
    <style>
        #box1 {
          width: 300px;
          height: 300px;
          background-color: red;
        }
    
        #box2 {
          width: 200px;
          height: 200px;
          background-color: green;
        }
    
        #box3 {
          width: 100px;
          height: 100px;
          background-color: blue;
        }
      </style>
    
    <body>
      <div id="box1">
        <div id="box2">
          <div id="box3">
          </div>
        </div>
      </div>
      <script>
        // addEventListener 的第三个参数的作用
        var box1 = document.getElementById('box1');
        var box2 = document.getElementById('box2');
        var box3 = document.getElementById('box3');
    
        var array = [box1, box2, box3];
    
        // addEventListener 的第三个参数为false的时候 : 事件冒泡
        // addEventListener 的第三个参数为true的时候 :  事件捕获
        
        // 事件的三个阶段:
        // 第一个阶段: 捕获阶段
        // 第二个阶段: 执行当前点击的元素
        // 第三个阶段: 冒泡阶段
        // for (var i = 0; i < array.length; i++) {
        //   array[i].addEventListener('click', function () {
        //     console.log(this.id);
        //   }, true);
        // }
    
        // document.body.addEventListener('click', function () {
        //   console.log('body');
        // }, true);
    
    
        // box.onclick  只有事件冒泡
        // box.attachEvent
        // attachEvent只有两个参数, 只有事件冒泡
        // box.attachEvent('onclick', function () {
        // });
        
    
        for (var i = 0; i < array.length; i++) {
          var box = array[i];
          box.onclick = function () {
            console.log(this.id);
          }
        }
        document.body.onclick = function () {
          console.log('body');
        }
    
        document.onclick = function () {
          console.log('document');
        }
    
      </script> 
    </body>
    

    相关文章

      网友评论

          本文标题:事件的三个阶段

          本文链接:https://www.haomeiwen.com/subject/sbghvctx.html