防止iOS 11.3溢出弹跳

时间:2018-04-19 16:52:40

标签: javascript jquery ios mobile-safari ios11.3

从那时起,我一直在preventDefault事件中使用touchmove技术,当时我注意到它在iOS 11.3上似乎不再适用,既不适用于Safari,也不适用于Chrome或火狐:

document.ontouchmove = function(event){
    event.preventDefault();
} 

iOS现在有什么变化吗?什么方法可以阻止页面顶部或末尾的弹跳?

Reproduction online

Reproduction online with jQuery

视频:

enter image description here

2 个答案:

答案 0 :(得分:5)

这是由WebKit的错误引起的。 Bug 182521

尝试

window.addEventListener("touchstart", function(event) {
  event.preventDefault();
}, {passive: false});

作为解决方法。

答案 1 :(得分:2)

除了贪吃的回答:

window.addEventListener("touchmove", function(event) {event.preventDefault();}, {passive: false} );

对我来说是一个解决野生动物园反弹问题的有效方法。