微信小程序深坑之bindtouchend

思路是: 长按录音,然后松手后录音停止保存到一个位置,先不管上滑还是下滑取消发送什么的 想法美好现实骨感,真机和web开发工具还是有区别的 单纯的长按录音和松手停止录音看似简单,确实简单,写法为

wxml端 
   <view bindlongtap="longTap" bindtouchstart="touchStart" bindtouchend="touchEnd">单机录音</view>

   js端
  longTap:function(){
     consloe.log("长按")
      wx.showToast({
          title: 我是长按,
      })
  },
  
  touchStart:function(){
     consloe.log("开始")
       wx.showToast({
           title: 我是开始,
       })
  },
  
  touchEnd:function(){
     consloe.log("结束")
       wx.showToast({
           title: 我是结束,
       })
  },

在自己的方法里面写上自己的内在逻辑 在web开发工具测试时候不会出现一点问题,当你在真机测试时候发现,长按然后松手是可以触发touchEnd的。但是你操作是: 长按后别松手往下滑一下在松手,你会发现touchEnd没走 也就是你的这样非正常操作不走touchEnd。但是开发不能控制用户的操作只能自行解决。

在web开发者工具咋用咋好使,在真机上直接懵逼了

我就开始一顿百度有个别问的但是几乎回答较少. 这里告诉你用touchCancel代替touchEnd 也就是把你的touchEnd逻辑放到touchCancel中 好使了

经验分享 程序员 微信小程序 职场和发展