Prevent iOS 11.3 overflow bouncing

2020-08-12 01:42发布

I've been making use of the preventDefault technique on the touchmove event since now, when I noticed it doesn't seem to work anymore on iOS 11.3, for neither Safari, nor Chrome or Firefox:

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

Has anything changed now in iOS? What's the way of preventing the bouncing at the top or end of the page?

Reproduction online

Reproduction online with jQuery

Video here:

enter image description here

2条回答
狗以群分
2楼-- · 2020-08-12 01:59

In addition to gluttonys answer:

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

is for me a working solution for the safari bounce issue.

查看更多
Emotional °昔
3楼-- · 2020-08-12 02:05

It was caused by a bug of WebKit. Bug 182521

Try

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

as a workaround.

查看更多
登录 后发表回答