vue中使用better-scroll @click事件执行两次,请问怎么解决
3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
同出过该问题,备注一下:
一开始以为跟项目中的fastclick冲突,后确认非该原因导致。
官网Demo也没有类似问题,最后暂时改为@touchstart+@touchend.stop.prevent模拟@click。
示例代码:
<template>
<button @touchstart="start($event)" @touchend.stop.prevent="stop($event)">Test</button>
</template>
<script>
export default {
methods: {
start ($event) {
this.startY = $event.touches[0].pageY
},
stop ($event) {
const moving = Math.abs($event.changedTouches[0].pageY - this.startY)
if (moving > 20) return
this.startY = 0
console.log('click')
}
}
}
</script>
添加回答
举报
0/150
提交
取消