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)
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。