Отключение отказов тела также предотвращает прокрутку прокручиваемых элементов в iPad 7-го поколения Safari и Chrome - PullRequest
0 голосов
/ 28 января 2020

У меня есть приложение на основе браузера. Используйте 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 (); полностью предотвратить прокрутку. положение: фиксированное; не будет работать и в моем случае.

...