同出过该问题,备注一下:一开始以为跟项目中的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>
同出过该问题,备注一下:
一开始以为跟项目中的
fastclick
冲突,后确认非该原因导致。官网Demo也没有类似问题,最后暂时改为
@touchstart
+@touchend.stop.prevent
模拟@click
。示例代码: