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

微信小程序返回的时候想直接返回首页,但是左滑是上一页,和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里面直接写跳转页面的方法.

相关推荐
私人珍藏库4 小时前
[Android] 蓝叠模拟器工具箱v1.1
android·智能手机·app·工具·软件·多功能
财迅通Ai5 小时前
逆周期研发筑壁垒 舜宇光学科技以技术突围手机存量竞争市场
科技·智能手机·舜宇光学科技
wanhengidc8 小时前
网站服务器具体功能有哪些?
运维·服务器·网络·网络协议·智能手机
绝世唐门三哥9 小时前
uniapp系列-uniappp都有哪些生命周期?
vue.js·小程序·uniapp
想你依然心痛10 小时前
HarmonyOS 5.0智慧交通开发实战:构建分布式车载智能座舱与手机无缝互联系统
分布式·智能手机·harmonyos·智慧交通·智能座舱
人还是要有梦想的11 小时前
如何开发小程序介绍
小程序·notepad++
学编程的小程11 小时前
闲置手机手搓私人云盘,0低成本+随时访问
智能手机
皮皮虾123412 小时前
云手机多开防封原理,以六边云来举例!
智能手机
limingade12 小时前
如何在浏览器网页中远程通过手机SIM卡发出短信
智能手机·远程发送短信·远程操作手机发短信·远程短信·网页通过手机发送短信·电脑网页发短信
伴野星辰13 小时前
Pycharm打包教程:电脑(windows / macos)+ 手机(安卓 / IOS)全流程
macos·智能手机·pycharm