H5模拟长按事件

js

var that = this;
var timeOutEvent  = 0;
that.map.addEventListener("touchstart",  function(e) {
  // 长按事件触发
  timeOutEvent = setTimeout(function() {
    timeOutEvent = 0;
    that.longpress(e);
  }, 500);
  //长按500毫秒
});

  that.map.addEventListener("touchmove", function() {
    clearTimeout(timeOutEvent);
    timeOutEvent = 0;
  });

  that.map.addEventListener("touchend", function() {
    clearTimeout(timeOutEvent);
    if (timeOutEvent != 0) {
      // 点击事件
    }
    return false;
  }); 

react

this.timeOutEvent=null
 onTouchStart() {
    clearTimeout(this.timeOutEvent)
    this.timeOutEvent = setTimeout(() => {
     this.longpress()
    }, 500);
  }
  onTouchMove() {
    clearTimeout(this.timeOutEvent)
  }
  onTouchEnd() {
    clearTimeout(this.timeOutEvent)
  }

你可能感兴趣的:(H5模拟长按事件)