微信小程序监听手机系统自带的左右滑动返回事件

微信小程序返回的时候想直接返回首页,但是左滑是上一页,和navigateBack一样,所以就监听了一下,后来一想在页面卸载的时候也可以,还可以使用getCurrentPages()方法,拿到是一个数组,官方文档

html 复制代码
<view class="container" bindtouchmove="handleTouchMove">
  <!-- 页面内容 -->
</view>
js 复制代码
Page({
  data: {
    startX: 0, // 记录触摸开始时的X坐标
    endX: 0,  // 记录触摸结束时的X坐标
  },

  handleTouchMove: function(e) {
    if (e.touches.length == 1) {
      // 单指触摸,记录坐标
      var touch = e.touches[0];
      this.setData({
        endX: touch.clientX,
      });

      // 判断是否滑动到足够距离(例如10px),并且判断是左滑还是右滑
      if (Math.abs(this.data.endX - this.data.startX) > 10) {
        if (this.data.endX < this.data.startX) {
          console.log('右滑');
        } else {
          console.log('左滑');
        }
        // 重置起始坐标,以便进行下一次判断
        this.setData({
          startX: this.data.endX,
          endX: 0,
        });
      }
    }
  },

  // 你可以在这里添加触摸开始的事件处理,以记录起始坐标
  handleTouchStart: function(e) {
    if (e.touches.length == 1) {
      var touch = e.touches[0];
      this.setData({
        startX: touch.clientX,
        endX: 0,
      });
    }
  },

  // ... 其他页面逻辑
});

需要添加更多的逻辑来处理边界情况(如多点触摸、滑动距离的判断阈值等)。同时,由于触摸事件的频繁触发,可能还需要考虑性能优化和防抖/节流等技术。大致监听然后返回首页的。有好的建议可以留言。

还有一种办法就是直接在卸载页面onunload里面直接写跳转页面的方法.

相关推荐
一字白首18 分钟前
进阶初学:微信小程序核心语法与配置实战DAY02
微信小程序·小程序
2601_9520137639 分钟前
2024仿东郊微端家政预约上门小程序【亲测可用】家政管理系统抢单派单开源源码
小程序
CHU7290351 小时前
随时随地学新知——线上网课教学小程序前端功能详解
前端·小程序
jixingkj2 小时前
手机截屏失败全解析:从操作误区到系统设置的深度解密
大数据·安全·智能手机
职豚求职小程序3 小时前
京东26春招笔试题库宝藏小程序刷题yyds!
小程序
游戏开发爱好者83 小时前
如何使用Instruments和Keymob进行Swift应用性能优化分析
开发语言·ios·性能优化·小程序·uni-app·iphone·swift
2501_916008893 小时前
移动应用上架到应用商店的完整指南:原理与详细步骤
android·ios·小程序·https·uni-app·iphone·webview
云起SAAS4 小时前
素材库微商品牌产品花店图文视频素材库抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·素材库微商品牌产品花店图文视频
开心就好13145204 小时前
uniapp微信小程序webview嵌套H5页面分享笔记
笔记·微信小程序·uni-app
源码ym7k资源4 小时前
家政服务小程序维修保洁美容美甲上门预约派单技师saas全开源app+h5+小程序-源码ym7K
小程序