vue2手动封装一个双击事件

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);
	}
}

你可能感兴趣的:(前端,javascript,vue.js)