【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) {
			//点击事件
		}
}
相关推荐
河北清兮网络科技13 小时前
短剧 APP 产品说明
小程序·uni-app·短剧
宠友信息18 小时前
一套基于uniapp+springboot完整社区系统是如何实现的?友猫社区源码级功能解析
java·spring boot·后端·微服务·微信·uni-app
碎像1 天前
掌握uniapp发布微信小程序、App(Android)
微信小程序·小程序·uni-app
stpzhf1 天前
uniapp nvue组件多个text在一行并且高亮其中一些文字
前端·javascript·uni-app
qq_316837751 天前
制作uniapp原生插件 在本地离线打包中测试 集成在云打包中
uni-app
Fate_I_C2 天前
uniappx 鸿蒙运行包制作失败
华为·uni-app·uniapp·harmonyos
chQHk57BN2 天前
跨平台前端开发:用Flutter和UniApp一次编写多端运行
flutter·uni-app
自然 醒3 天前
uni-app开发微信小程序,如何使用towxml去渲染md格式和html标签格式的内容?
微信小程序·uni-app·html
CHB3 天前
uni-agent,你的数字员工来了
人工智能·uni-app·vibecoding
h_jQuery3 天前
uniapp使用canvas实现逐字书写任意文字内容,后合成一张图片提交
前端·javascript·uni-app