解决ionic 长按时间过短和点击产生冲突

ionic中 press(长按)最短时间默认是251ms,tap(点击)最长时间默认是250ms,所以一般情况下是不会产生冲突的,但是在移动开发中会遇到测试机卡顿 导致长按和点击产生混乱的现象。这个时候需要延长长按的最短时间。
方法1:使用angular 进行全局配置(优点:写法简洁,一目了然;缺点:需要全局配置,有局限性)
https://www.jianshu.com/p/6f2388028d31
方法2:通过获取点击开始事件和结束点击事件和计时器来区别长按和点击

import Rx,{Subscription} from "rxjs"
import moment from 'moment'

touchTime : Subscription
touchStartTime : string

touchStart(){
    this.touchStartTime = moment().format("YYYY-MM-DD HH:mm:ss");
    this.touchTime = Rx.Observable.timer(1000).subscribe(()=>{ //设置最短长按时间为1s
      //长按逻辑
    })
  }

  touchEnd(){
    if(moment().diff(this.touchStartTime,'seconds')>=1){
      //长按逻辑
    }else{
      //点击逻辑
    }
    this.touchTime.unsubscribe();
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。