У меня есть приложение на основе браузера. Используйте iNoBounce. js, чтобы отключить подпрыгивание тела в iOS и переполнение: скрыто в настольном браузере. Он работает во всех настольных браузерах, iPad mini (5-го поколения, iOS 13.3) Safari и Chrome, iPad Air 2 (iOS 13.3) Chrome. Но это не работает в iPad Air 2 (iOS 13.3) Safari и iPad (7-е поколение, iOS 13.3) Safari и Chrome. В то время как отскок тела отключен, он также отключает прокручиваемые элементы от прокрутки.
Вот код js
function bodyNoScroll() {
bodyObj.addClass("noscroll");
bodyObj.removeClass("scroll");
iNoBounce.enable();
}
function bodyNoScroll() {
bodyObj.addClass("noscroll");
bodyObj.removeClass("scroll");
iNoBounce.enable();
}
css код
body {
-ms-content-zooming: none;
-ms-touch-action: pan-y;
}
/*prevents the bouncing completely. page is not scrollable*/
body.noscroll {
overflow: hidden;
}
body.scroll {
overflow: auto;
}
css для прокручиваемых элементов
#test {
overflow: auto;
-webkit-overflow-scrolling: touch;
max-height: 200px;
}
Я не могу использовать e.preventDefault (); полностью предотвратить прокрутку. положение: фиксированное; не будет работать и в моем случае.