微信小程序使用函数防抖解决重复点击消耗性能问题

wxml:

<view bindtap="doubleTap" bindtouchstart="touchStart" bindtouchend="touchEnd">click me</view>

   js:

 // 防止重复点击
  touchStart(e) {
   
    this.touchStartTime = e.timeStamp;
  },
  touchEnd(e) {
    this.touchEndTime = e.timeStamp;
  },
  doubleTap(e) {
    var vm = this;
    // 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件
    if (vm.touchEndTime - vm.touchStartTime < 350) {
      // 当前点击的时间
      var currentTime = e.timeStamp;
      var lastTapTime = vm.lastTapTime;
      // 更新最后一次点击时间
      vm.lastTapTime = currentTime;
      // 如果两次点击时间在300毫秒内,则认为是双击事件
      if (currentTime - lastTapTime > 300) {
        // do something 点击事件具体执行那个业务
       
      }
    }
  }

  

原文地址:https://www.cnblogs.com/mmykdbc/p/11504327.html