我在开发移动端H5页面时遇到个问题,用@touchstart和@click绑定同一个按钮,结果点击时会触发两次点击事件。试过给元素加touch-action: manipulation和用防抖函数,但滑动时误触的情况还是存在。代码大概是这样写的:
<div @touchstart="handleTouch" @click="handleClick">点击我</div>
控制台打印发现handleClick和handleTouch都会被触发。有什么办法能彻底区分点击和滑动操作吗?或者应该用什么事件组合更合适?
HTML这边调整一下:
<div @touchstart="handleTouchStart" @touchmove="handleTouchMove" @click="handleClick">点击我</div>
这样滑动就不会误触发点击事件了,简单粗暴有效。