在移动浏览器中进行手势操作后滚动不起作用

Scroll doesn't work after gesture actions in mobile browsers

我有一个大的可滚动页面。当我用手指上下滑动内容时,滚动有效。所以它的工作就像它必须工作一样。

但是如果我执行多个手势(多点触控)操作,滚动就会停止工作。我上下移动手指,但它不再移动了。

通常单个手势动作是不够的,我必须执行多个手势才能使滚动崩溃。但是我不明白,怎么了。

我解决了这个问题。是的,这很愚蠢,但如果有人遇到类似的事情,我的经验可能会有所帮助。

我的页面包含一些在 touchstart、touchmove 和 touchend 上具有事件侦听器的元素。在某些情况下,听众包括 event.preventDefault() 而没有 event.stopPropagation()。在某些手势条件变为 true 并且事件预防开始阻止滚动之后。

在我的例子中,我不再需要这些事件处理程序,这就是我完全删除它们的原因。这解决了问题。

在其他类似情况下添加event.stopPropagation()可以解决问题。还有必要检查调用 event.preventDefault().

的条件(如果有的话)