Sto lavorando a un'app Web basata su iPad e devo impedire lo scorrimento eccessivo in modo che sembri meno simile a una pagina Web. Attualmente lo sto usando per bloccare la visualizzazione e disabilitare l'overscroll:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Funziona benissimo per disabilitare l'overscroll, ma la mia app ha diversi div scorrevoli e il codice sopra impedisce loro di scorrere .
Sto prendendo di mira solo iOS 5 e versioni successive, quindi ho evitato soluzioni hacker come iScroll. Invece sto usando questo CSS per i miei div scorrevoli:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Funziona senza lo script di overscroll del documento, ma non risolve il problema di scorrimento del div.
Senza un plugin jQuery, esiste un modo per utilizzare la correzione di overscroll ma esentare i miei div $ ('. Scrollable')?
MODIFICARE:
Ho trovato qualcosa che è una soluzione decente:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
Il viewport si sposta ancora quando scorri oltre l'inizio o la fine del div. Mi piacerebbe trovare un modo per disabilitare anche quello.