Je travaille sur une application Web basée sur iPad et je dois éviter le défilement excessif pour que cela ressemble moins à une page Web. J'utilise actuellement ceci pour figer la fenêtre et désactiver le défilement excessif:
document.body.addEventListener('touchmove',function(e){
e.preventDefault();
});
Cela fonctionne très bien pour désactiver le défilement excessif, mais mon application a plusieurs divs défilables, et le code ci-dessus les empêche de défiler .
Je cible uniquement iOS 5 et au-dessus, j'ai donc évité les solutions de piratage comme iScroll. Au lieu de cela, j'utilise ce CSS pour mes divs à défilement:
.scrollable {
-webkit-overflow-scrolling: touch;
overflow-y:auto;
}
Cela fonctionne sans le script de survol du document, mais ne résout pas le problème de défilement div.
Sans un plugin jQuery, y a-t-il un moyen d'utiliser le correctif de dépassement mais d'exempter mes divs $ ('. Scrollable')?
ÉDITER:
J'ai trouvé quelque chose qui est une solution décente:
// Disable overscroll / viewport moving on everything but scrollable divs
$('body').on('touchmove', function (e) {
if (!$('.scrollable').has($(e.target)).length) e.preventDefault();
});
La fenêtre se déplace toujours lorsque vous faites défiler le début ou la fin du div. J'aimerais également trouver un moyen de désactiver cela.