Todas las versiones de Android anteriores a la 3.0 tienen errores de desbordamiento: desplazamiento o automático (bug info).
Para thoses utilizando jQuery aquí es una solución rápida:
function touchScroll(selector){
var scrollStartPos = 0;
$(selector).live('touchstart', function(event) {
scrollStartPos = this.scrollTop + event.originalEvent.touches[0].pageY;
});
$(selector).live('touchmove', function(event) {
this.scrollTop = scrollStartPos - event.originalEvent.touches[0].pageY;
});
}
y luego si se utiliza Modernizr:
if (Modernizr.touch) {
touchScroll($('.myScrollableContent'))
}
pero no es ideal, ya que todos los dispositivos táctiles capaces tendrán esto.
Si utiliza Phonegap se puede hacer (en algún lugar después PhoneGap inited):
if (window.device && device.platform=="Android" && parseInt(device.version) < 3){
touchScroll($('.myScrollableContent'))
}
Para hacer clic en enlaces, etc., para trabajar dentro del contenido desplazable, es necesario eliminar 'event.preventDefault();' Del Evento 'touchstart'. – awe
¡eso es verdad! Gracias por señalar esto. Lo estoy eliminando de mi respuesta. –
No funciona en las versiones de Android anteriores a 3.0 – eversor