单击双击
小程序没有双击功能,所以要自己来写
//单击tap或双击tap
multipleTap: function(e){
let diffTouch = this.touchEndTime - this.touchStartTime;
let curTime = e.timeStamp;
let lastTime = this.lastTapDiffTime;
this.lastTapDiffTime = curTime;
//两次点击间隔小于300ms, 认为是双击
let diff = curTime - lastTime;
if (diff < 300) {
console.log("double tap")
clearTimeout(this.lastTapTimeoutFunc); // 成功触发双击事件时,取消单击事件的执行
wx.showModal({
title: '提示',
content: '双击事件被触发',
showCancel: false
})
} else {
// 单击事件延时300毫秒执行,这和最初的浏览器的点击300ms延时有点像。
this.lastTapTimeoutFunc = setTimeout(function () {
console.log("single tap")
wx.showModal({
title: '提示',
content: '单击事件被触发',
showCancel: false
})
}, 300);
}
},
// 长按tap
longTap: function (e) {
console.log("long tap")
wx.showModal({
title: '提示',
content: '长按事件被触发',
showCancel: false
})
},
<button class = "btn" type="primary" bindtap="multipleTap" bindlongtap="longTap">
双击/长按
</button>