DOM事件流与事件委托

事件流

<style>
  .big{
    width: 300px;
    height: 300px;
    background-color: red;
  }
  .center{
    width: 200px;
    height: 200px;
    background-color: yellow;
  }
  .small{
    width: 100px;
    height: 100px;
    background-color: blue;
  }
</style>
<div class="big">
    <div class="center">
        <div class="small"></div>
    </div>
</div>
  let big = document.querySelector(".big")
  let center = document.querySelector(".center")
  let small = document.querySelector(".small")
  big.onclick = function(){
    console.log("我是big")
  }
  center.onclick = function(){
    console.log("我是center")
  }
  small.onclick = function(){
    console.log("我是small")
  }

  // 顺序是 small-center-big
  // 从里到外是事件冒泡(默认事件在这个阶段触发)
  // 从外到里是事件捕获

<ul>
  <li>香蕉</li>
  <li>苹果</li>
  <li>鸭梨</li>
</ul>
// 利用事件委托来实现删除
  let ul = document.querySelector("ul")
  ul.onclick = function(e){
    ul.removeChild(e.target)
  }

将事件委托给父元素,利用事件冒泡,可以不用给每个子元素都绑定事件

posted @ 2021-07-28 23:02  `Duet`  阅读(62)  评论(0编辑  收藏  举报