目前uni-app view标签不支持双击事件,所以只能自定义事件。
代码实现效果:双击复制。
<view class="title" @click="handClick">
<view>标题 </view>
</view>
data中要定义:
lastTapTimeoutFunc: null,
lastTapDiffTime: 0,
点击事件:
// 双击
handClick() {
let _this = this;
let curTime = new Date().getTime();
let lastTime = _this.lastTapDiffTime;
_this.lastTapDiffTime = curTime;
//两次点击间隔小于300ms, 认为是双击
let diff = curTime - lastTime;
if (diff < 300) {
uni.setClipboardData({
data: "双击标题",
success: () => {
console.log("success");
},
});
clearTimeout(_this.lastTapTimeoutFunc);
// 成功触发双击事件时,取消单击事件的执行
}else {
// 单击事件延时300毫秒执行
_this.lastTapTimeoutFunc = setTimeout(function() {
console.log("单击")
uni.setClipboardData({
data: "单击标题",
success: () => {
console.log("success");
},
});
}, 300);
}
},