wxml:
<view bindtap="doubleTap" bindtouchstart="touchStart" bindtouchend="touchEnd">click me</view>
js:
// 防止重复点击
touchStart(e) {
this.touchStartTime = e.timeStamp;
},
touchEnd(e) {
this.touchEndTime = e.timeStamp;
},
doubleTap(e) {
var vm = this;
// 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件
if (vm.touchEndTime - vm.touchStartTime < 350) {
// 当前点击的时间
var currentTime = e.timeStamp;
var lastTapTime = vm.lastTapTime;
// 更新最后一次点击时间
vm.lastTapTime = currentTime;
// 如果两次点击时间在300毫秒内,则认为是双击事件
if (currentTime - lastTapTime > 300) {
// do something 点击事件具体执行那个业务
}
}
}