手机端怎么暂时取消touch事件?

1、手机端上面,用了swiper来切换tab,每个tab上又有上下拉刷新(通过touch事件实现),问题是我现在切换tab页的时候也会触发touch,然后就出现如下图所示的问题,我想要的效果是切换的时候不触发touch事件,我该如何是好?
图片描述

阅读 5.8k
3 个回答

事实上你的下拉刷新以及swiper都是监听touch事件的,而swiper的切换并不是一有左右touch移动就切换,而是有一定的touchmove距离才切换。

你可以这样,下拉刷新那个加个判定,当x轴的touchmove距离大于一定值时就不执行下拉刷新。更恰当的方法是判断x轴的距离增加速度和y轴的距离增加速度的大小比较来确定用户的行为是上下拉还是左右移动。

当然前提是你的下拉刷新也是通过一个完整的touch事件来判断的

我上次也遇到这种情况。如果在同一层的话 直接注释掉touch事件吧。如果不是event.stopPropagation()阻止事件捕获。

试试 tab 使用 click 事件代替 touch 事件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题