我曾经使用以下代码来防止触摸设备上的网页滚动(在iOS上进行了具体测试)。
disableScroll = false;
$(document).on('touchmove',function(e) {
if (disableScroll) {
e.preventDefault();
}
});
然而,自从iOS 11以后,这种方法已经不再起作用。我可以使用iOS模拟器回到iOS 9和iOS 10进行测试,它可以正常工作,但在iOS 11上却不行了。有没有人能提供另一种解决方案呢?
例如,在iOS 9/10上测试类似的功能是可行的,但在iOS 11上却不行。 https://benfrain.com/preventing-body-scroll-for-modals-in-ios/
overflow: hidden
。我通常有一个通用类叫做.no-scroll
,我会用JS应用它,而不是阻止默认事件。 - Adrian Florescu