事件委托即是把点击事件委托给父节点,从而解决监听器过多的问题。

Vue中使用示例如下:

<center class="range" @click="selectTimeRange">
  <span data-value="0" class="selected">全部</span>
  <span data-value="1">近半年</span>
  <span data-value="2">近一个月</span>
  <span data-value="3">近一周</span>
</center>

在父元素使用事件委托绑定selectTimeRange函数,在函数里使用e.target获取点击的对象。

selectTimeRange(e) {
  let value = e.target.getAttribute('data-value')
  console.log(value)
  let eles = document.querySelectorAll('.range span')
  let ele = eles[value]
  for(let item of eles){
    item.classList.remove('selected')
  }
  ele.classList.add('selected')
}

 

相关文章:

  • 2022-01-15
  • 2021-07-21
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-07-31
猜你喜欢
  • 2022-12-23
  • 2021-08-30
  • 2022-01-14
  • 2021-06-11
  • 2021-05-18
相关资源
相似解决方案