Я працюю над веб-додатком на базі iPad, і мені потрібно не допустити перекручування, щоб він виглядав менш схожим на веб-сторінку. Зараз я використовую це для заморожування вікна перегляду та відключення перекрутки:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Це чудово працює, щоб вимкнути overscroll, але в моєму додатку є кілька прокручуваних дівок, і наведений вище код запобігає їх прокрученню .
Я націлююсь лише на iOS 5 і вище, щоб уникнути нерозважливих рішень, таких як iScroll. Натомість я використовую цей CSS для моїх прокручуваних дівів:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Це працює без скрипту перекручування документа, але не вирішує проблему прокрутки діва.
Без плагіна jQuery, чи можна скористатися виправленням overscroll, але вилучити мої диски $ ('. Scrolllable')?
Редагувати:
Я знайшов щось гідне рішення:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
Вікно перегляду все ще переміщується, коли ви прокручуєте повз початок або кінець розділу. Я також хотів би знайти спосіб відключити це.