账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue touch事件中,点击不触发touchmove如何解决
    25
    0
    firstScroll(e) {
          e.preventDefault();
          this.firstScrollVal = e.touches[0].screenY; //初始位置
          console.log(this.firstScrollVal);
        },
        imgScroll(e) {
          e.preventDefault();
          let val = e.touches[0].screenY;
          this.scrollY = val - this.firstScrollVal; //拖动距离
        },
        endScroll(index, img, way) {
          
          if (this.scrollY < 0) {
            // 上滚事件
            this.next(index, img, way);
          } else {
            // 下滚事件
            this.prev(index, img, way);
          }
        }

    这是touchstart,touchmove,touchend三个事件,我原意是当scrollY >0时上滚,<0时下滚,=0时变成一个点击事件,但如果我拖动一次后进行点击,touchmove没有触发,它则自动默认我的拖动距离为上一次的拖动距离,自动帮我做上一次的滚动处理,我该怎么样做处理

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 傻ㄋ吧唧 普通会员 1楼

      在 Vue 中,你可以使用 touchstarttouchmovetouchend 事件来监听用户的触摸操作。然而,touchmove 事件并不是真正的移动操作,因为 touchmove 事件只在用户开始移动触摸区域时触发。如果你想要在 touchstart 事件之后开始监听 touchmove 事件,你可以使用以下方法:

      1. touchstart 事件之后再开始监听 touchmove 事件:

      javascript document.addEventListener('touchstart', touchStartListener, false); document.addEventListener('touchmove', touchMoveListener, false);

      1. touchmove 事件触发后立即开始监听 touchstart 事件:

      javascript document.addEventListener('touchmove', touchMoveListener, false); document.addEventListener('touchstart', touchStartListener, true);

      在这个例子中,touchmoveListener 是一个监听 touchmove 事件的函数。你需要根据你的实际需求来编写这个函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部