H5移动端 利用touchstart 达到长按事件

一开始的没加.native  ,结果长按事件不会触发,

原因是:

给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件等同于在子组件中: 子组件内部处理click事件然后向外发送click事件: semit"dlick”.fn)

 

//长按事件(起始)
        gtouchstart(item) {
          var self = this;
          this.timeOutEvent = setTimeout(function () {
            self.longPress(item);
          }, 1000); //这里设置定时器,定义长按多长时间触发长按事件
          return false;
        },
        //手释放,如果在设置的时间内就释放,则取消长按事件,此时可以执行onclick应该执行的事件
        showDeleteButton(item) {
          clearTimeout(this.timeOutEvent); //清除定时器
          if (this.timeOutEvent != 0) {
            //这里写要执行的内容(如onclick事件)
            // Toast("点击但未长按");
          }
          return false;
        },
        //如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按
        gtouchmove() {
          clearTimeout(this.timeOutEvent); //清除定时器
          this.timeOutEvent = 0;
        },
        //真正长按后应该执行的内容
        longPress(val) {
          this.timeOutEvent = 0;
          //执行长按要执行的内容
          // Toast("长按");
        },

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值