1

我为 IOS 创建了一个 Web 应用程序,当用户通过 Safari 将其添加到他们的主屏幕时,如果他们尝试用手指在应用程序的一部分中向上或向下滚动而您无法滚动,它会向上或向下滚动整个应用程序向下然后弹回原位(就像您滚动到网页底部然后继续尝试继续滚动一样)。

有没有办法防止像那样向上或向下滚动?将overflow-y 属性设置为body、document 和window 为隐藏并不能修复它。

4

1 回答 1

1

使用 JavaScript 监听 touchmove 事件并使用preventDefault()取消默认行为。这将使您无法从这些元素中“橡皮筋”页面。对于您不希望用户能够拖动的元素,请尝试这样的操作:

noScroll = document.getElementById("cant-touch-this");
noScroll.addEventListener("touchmove", function(e) {
    e.preventDefault();
});
于 2012-10-03T21:33:02.043 回答