扫码关注官方订阅号
1、手机端上面,用了swiper来切换tab,每个tab上又有上下拉刷新(通过touch事件实现),问题是我现在切换tab页的时候也会触发touch,然后就出现如下图所示的问题,我想要的效果是切换的时候不触发touch事件,我该如何是好?
走同样的路,发现不同的人生
事实上你的下拉刷新以及swiper都是监听touch事件的,而swiper的切换并不是一有左右touch移动就切换,而是有一定的touchmove距离才切换。
你可以这样,下拉刷新那个加个判定,当x轴的touchmove距离大于一定值时就不执行下拉刷新。更恰当的方法是判断x轴的距离增加速度和y轴的距离增加速度的大小比较来确定用户的行为是上下拉还是左右移动。
当然前提是你的下拉刷新也是通过一个完整的touch事件来判断的
我上次也遇到这种情况。如果在同一层的话 直接注释掉touch事件吧。如果不是event.stopPropagation()阻止事件捕获。
试试 tab 使用 click 事件代替 touch 事件
click
touch
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
事实上你的下拉刷新以及swiper都是监听touch事件的,而swiper的切换并不是一有左右touch移动就切换,而是有一定的touchmove距离才切换。
你可以这样,下拉刷新那个加个判定,当x轴的touchmove距离大于一定值时就不执行下拉刷新。更恰当的方法是判断x轴的距离增加速度和y轴的距离增加速度的大小比较来确定用户的行为是上下拉还是左右移动。
当然前提是你的下拉刷新也是通过一个完整的touch事件来判断的
我上次也遇到这种情况。如果在同一层的话 直接注释掉touch事件吧。如果不是event.stopPropagation()阻止事件捕获。
试试 tab 使用
click事件代替touch事件