收藏
回答

touchend事件不触发

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug catch:touchend 微信安卓客户端 8.0.45 8.0.45
<view class="tape" catch:longpress='touchdown' catch:touchend="touchup">
    <image wx:if="{{!show}}" class="img" mode="aspectFit" src="{{imgPrefix+'/mp/img/tape.png'}}"></image>
    <view wx:else class="animation">
      <view class="ani"></view>
      <view class="ani"></view>
      <view class="ani"></view>
      <view class="ani"></view>
    </view>
  </view>
 data: {
    imgPrefix: app.globalData.imgPrefix,
    show:false
  },
    touchdown(e) {
      console.log('长按');
      this.setData({
        show: true
      })
    },
    touchup(e) {
      console.log('松开'); 
      this.data.show = false
      this.setData({
        show: false
      })
    },

只要同事在事件内写 this.setData({}) 就会导致松开事件不触发 要再次点击才会触发
touchdown和touchup方法里使用了this.setData。由于小程序的逻辑层和视图层是双线程,用了setData似乎对脚本产生了阻塞。 
z这种情况怎么解决呢


最后一次编辑于  03-29
回答关注问题邀请回答
收藏

1 个回答

  • showms
    showms
    03-28

    哪里有touchstart

    03-28
    有用
    回复 2
    • 半生瓜
      半生瓜
      03-29
      写错了是touchdown
      03-29
      回复
    • showms
      showms
      03-29回复半生瓜
      不要直接修改data内容
      03-29
      回复
登录 后发表内容