【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) {
			//点击事件
		}
}
相关推荐
中犇科技1 小时前
2026商城APP开发公司 TOP5(电商垂直版)
uni-app
扁豆的主人1 小时前
Uniapp如何构建和部署
uni-app
hhzz2 小时前
Uniapp项目中解决一个比较典型的图标渲染问题:原生 tabBar(pages.json 里配置的那种)
uni-app·json
小徐_233316 小时前
Wot UI 2.1.0 发布:ConfigProvider 全局配置能力升级
前端·uni-app
qq_229933131 天前
uniapp踩坑-组件嵌套子组件不触发onReachBottom事件
uni-app
00后程序员张1 天前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
android·ios·小程序·https·uni-app·iphone·webview
JackieDYH1 天前
uniapp vue3 常用的生命周期和作用使用时机
javascript·vue.js·uni-app
PedroQue991 天前
uni-app路由管理神器:vue-router风格体验
前端·uni-app
chéng ௹1 天前
uniapp封装火山引擎 DataRangers 埋点 SDK
uni-app·apache·火山引擎
2501_915909061 天前
iOS IPA文件反编译与打包操作方法详解
android·ios·小程序·https·uni-app·iphone·webview