【uniapp】swiper组件touch事件和click兼容问题

如果swiper组件加了touch事件和click事件都加了,会触发的很不灵敏,有时候click事件不触发

案例

这种情况click偶尔会失效

javascript 复制代码
<template>
<swiper @touchstart="touchStart" @touchcancel="touchEnd" @touchend="touchEnd">
	<swiper-item @click="onClick">...</swiper-item>
</swiper>
</<template>

解决思路

不加click,利用touch事件的按下和抬起的位置和时间长度来判断是点击还是滑动

javascript 复制代码
touchStart(e) {
	this.touchxy = {
		x: e.changedTouches[0].clientX,
		y: e.changedTouches[0].clientY,
		time: e.timeStamp
	}
	....
},
touchEnd(e) {
	
		if (Math.abs(e.changedTouches[0].clientX - this.touchxy.x) < 10 && Math.abs(e.changedTouches[0]
				.clientY - this.touchxy.y) < 10 && e.timeStamp - this.touchxy.time < 1000) {
			//点击事件
		}
}
相关推荐
清云随笔2 小时前
uniapp|微信小程序 实现输入四位数 空格隔开
uni-app
一只欢喜4 小时前
uniapp使用uview2上传图片功能
前端·uni-app
ggome4 小时前
Uniapp低版本的安卓不能用解决办法
前端·javascript·uni-app
贰叁!12 小时前
uniapp输入车牌号组件
uni-app
她似晚风般温柔78914 小时前
Uniapp + Vue3 + Vite +Uview + Pinia 分商家实现购物车功能(最新附源码保姆级)
开发语言·javascript·uni-app
Jiaberrr15 小时前
前端实战:使用JS和Canvas实现运算图形验证码(uniapp、微信小程序同样可用)
前端·javascript·vue.js·微信小程序·uni-app
工业互联网专业17 小时前
毕业设计选题:基于springboot+vue+uniapp的驾校报名小程序
vue.js·spring boot·小程序·uni-app·毕业设计·源码·课程设计
&白帝&1 天前
uniapp中使用picker-view选择时间
前端·uni-app
fakaifa1 天前
八戒农场小程序V2最新源码
小程序·uni-app·php·生活·开源软件
平凡シンプル1 天前
安卓 uniapp跨端开发
android·uni-app