Estoy trabajando en una aplicación web basada en iPad y necesito evitar el desplazamiento excesivo para que parezca menos una página web. Actualmente estoy usando esto para congelar la ventana gráfica y deshabilitar el desplazamiento excesivo:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Esto funciona muy bien para deshabilitar el desplazamiento excesivo, pero mi aplicación tiene varios divs desplazables y el código anterior evita que se desplacen .
Solo apunto a iOS 5 y superior, así que he evitado soluciones piratas como iScroll. En su lugar, estoy usando este CSS para mis divs desplazables:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Esto funciona sin el script de desplazamiento excesivo del documento, pero no resuelve el problema de desplazamiento div.
Sin un complemento de jQuery, ¿hay alguna forma de usar la corrección de desplazamiento excesivo pero eximir mis divs $ ('. Scrollable')?
EDITAR:
Encontré algo que es una solución decente:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
La ventana gráfica aún se mueve cuando se desplaza más allá del principio o el final del div. Me gustaría encontrar una manera de desactivar eso también.