bindlongpress 长按后切换页面 第一次点击无反应
发布于 5 年前 作者 yanwang 6851 次浏览 来自 问答

是具体是这样的。     我在一个page中,写了两层页面 通过wx:if来显示当前显示那个页面

第一个页面是butten页 长按butten后进入第二个页面(详细页面)。切换带有动画效果。

在长按butten(一直按到第二个页面切换完成动,画效果结束)切换第二个页面时,第一次click是无效的  没有任何反应,第二次正常。

但是如果在长按butten时在即将开始切换第二个页面时松开butten,在待切换完成时,就不会出现第一次click无效的情况 请问这是什么问题。该如何解决

wxml

<view wx:if=’{{MainPage}}’ style=“width:100%;height:100vh;background:#fff;text-align:center”>

<view style=‘margin:auto;height:100px;width:100px;background:#f00’  bindlongpress=“squareLongTap”

bindtap=“squareTap”>

第一页长按

</view>

</view>

<view wx:if=’{{!MainPage}}’ style=“width:100%;height:100vh;background:#000;text-align:center” catchtap=‘goMainPage’>

<view style=‘margin:auto;height:100px;width:100px;background:#0f0’  >

第二页 按钮

</view>

</view>

js------------

Page({

/**

  * 页面的初始数据

  */

data: {

MainPage: true,

},

squareTap: function () {

console.log(‘短按》’);

},

squareLongTap: function (e) {

setTimeout(() => {

this.setData({

MainPage: false, //第一个主页面消失

})

}, 500)

return

},

goMainPage: function () {

this.setData({

MainPage: true, //第二个页面消失

})

},

})

4 回复

你好,请提供一下能复现问题的代码示例。

请问这个问题解决了吗,我也是同样的问题没找到解决方案

请问能分享一下你是如何处理这个问题的吗,刚刚尝试了使用touchstart加计时器模拟longpress貌似也是有同样的问题

已经补充了实例  。。。

回到顶部