微信小程序双击事件官方暂未提供方法
所以现在解决方案为利用两次点击事件时间差判断双击事件
废话不多说,上方案!
现在网上提供的解决方案:
http://www.cnblogs.com/nosqlcoco/p/5954453.html
笔者用上述解决方案时出现了一个不小的坑。。。。。。。。
这个方案会导致该按钮第一次点击时,区分不出是单击还是双击(时间值未初始化)
必须得单击激活一次后才能实现双击单击判断
为了解决这个BUG浪费了相当多的时间,什么跨域问题、点击按下后记录时间值什么的。。。。。(怨念ing……)
终究还是解决了,(^-^)V
下面是代码:
<view>
<button type="primary" bindtap="mytap">点我吧</button>
</view>
page({
data: {
lastTapDiffTime: 0,
ClickNum: 0,
},
mytap: function (event) {
var e = event
var that = this
var curTime = e.timeStamp;
var lastTime = this.data.lastTapDiffTime;
if (this.data.lastTapDiffTime === 0){
this.setData({
lastTapDiffTime: curTime
})
setTimeout(function () {
that.clickCalculation(e)
}, 300)
}else{
if (curTime - lastTime < 300) {
this.setData({
ClickNum: 1
})
}
}
},
clickCalculation: function (e){
if (this.data.ClickNum === 0) {
console.log("单击")
this.setData({
lastTapDiffTime: 0,
ClickNum: 0
})
} else {
console.log("双击")
this.setData({
lastTapDiffTime: 0,
ClickNum: 0
})
}
}
})