uniapp 官方并没有提供双击事件,但很多时候需要给元素绑定双击事件,比如:自定义视频播放器的双击暂停和播放、双击进入隐藏页面。 ```html <template> <button type="primary" @click="handClick">测试</button> </template> ``` ```javascript export default { data() { return { lastTapDiffTime: 0, lastTapTimeoutFunc: null, } }, methods: { // 单击或双击 handClick() { const _this = this; // 当前时间 const curTime = new Date().getTime(); // 上次点击时间 const lastTime = _this.lastTapDiffTime; // 更新上次点击时间 _this.lastTapDiffTime = curTime; // 两次点击间隔小于300ms, 认为是双击 const diff = curTime - lastTime; if (diff < 300) { console.log('双击'); // 执行方法 // _this.xxxxx() // 成功触发双击事件时,取消单击事件的执行 clearTimeout(_this.lastTapTimeoutFunc); } else { // 单击事件延时300毫秒执行 _this.lastTapTimeoutFunc = setTimeout(function() { console.log('单击'); // 执行方法 // _this.xxxxx() }, 300); } } } } ```