安卓机浏览器左右滑动切换tab栏无效

在做项目中遇到一个需求,需要实现可以上下滑动页面且左右滑动时切换tab栏

在ios上测试时可以实现功能,但在安卓机的自带浏览器测试时发现左右滑动不是每次都可以实现切换tab栏功能,排查问题后发现当左右滑动且屏幕同时上下滚动(简单来说就是左右滑动略有倾斜)时可以切换tab栏,而水平滑动时无法切换。

于是我在touchstart、touchmove、touchend事件中打印日志,发现水平左右滑动时根本没有触发touchend事件,因此写在touchend中的切换tab栏功能没有执行。

在搜索解决方法中尝试了:

1.在touchmove事件中执行prevent方法禁止默认事件,此时touchend事件被触发可以左右滑动切换tab栏,但突然发现上下不能滑动了。原因在于prevent禁用了touchmove的默认事件,而touchmove的默认事件就是上下滚动屏幕

2.同时绑定touchend和touchcancel事件,触发时执行同一部分代码(原本touchend触发所执行的代码),woc!!!解决!!!

猜你喜欢

转载自blog.csdn.net/YML_426/article/details/121784789