Estou trabalhando em um aplicativo da web baseado em iPad e preciso evitar a rolagem excessiva para que pareça menos com uma página da web. No momento, estou usando isso para congelar a janela de visualização e desativar o deslocamento excessivo:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Isso funciona muito bem para desativar o overscroll, mas meu aplicativo tem vários divs roláveis, e o código acima os impede de rolar .
Estou visando o iOS 5 e superior apenas, então evitei soluções hacky como o iScroll. Em vez disso, estou usando este CSS para meus divs roláveis:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Isso funciona sem o script de overscroll do documento, mas não resolve o problema de rolagem div.
Sem um plugin jQuery, existe alguma maneira de usar a correção overscroll, mas isentar meus divs $ ('. Scrollable')?
EDITAR:
Eu encontrei algo que é uma solução decente:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
A janela de visualização ainda se move quando você rola para além do início ou do final do div. Eu gostaria de encontrar uma maneira de desativar isso também.