购物车列表商品长按可删除,单击可进去商品详情、所以要处理单击、长按事件的冲突。代码如下
<view bindtap='goDetail' bindtouchstart='bindTouchStart' bindtouchend='bindTouchEnd' bindlongtap='longTap' data-id='{{item.itemId}}' >
longTap: function (e) { //长按
console.log(9999)
},
bindTouchStart: function(e) {//触碰开始
this.startTime = e.timeStamp;
this.setData({
startTime: e.timeStamp
})
},
bindTouchEnd: function(e) {//触碰结束
this.setData({
endTime: e.timeStamp
})
},
goDetail: function(e) { // 点击进入商品详情
if (this.data.endTime - this.data.startTime < 350) {
wx.navigateTo({
url: '/pages/detail/detail?itemId=' + e.currentTarget.dataset.id,
})
}
},
注:根据触摸开始和触摸结束的时间判断如果时间是短于某个值,就认为是点击操作否则就是长按操作