data(){
lastTapDiffTime: 0,
lastTapTimeoutFunc: null,
},
methods: {
async double(){
const _this = this;
// 当前时间
const curTime = new Date().getTime();
// 上次点击时间
const lastTime = _this.lastTapDiffTime;
// 更新上次点击时间
_this.lastTapDiffTime = curTime;
// 两次点击间隔小于300ms, 认为是双击
const diff = curTime - lastTime;
if (diff < 300) {
// 成功触发双击事件时,取消单击事件的执行
clearTimeout(_this.lastTapTimeoutFunc);
} else {
// 单击事件延时300毫秒执行
_this.lastTapTimeoutFunc = setTimeout(function() {
console.log('单击');
}, 300);
}
}