Wszystkie wersje Androida przed wersją 3.0 są objęte przepełnieniem: przewiń lub automatycznie (bug info).
Dla thoses jQuery o to szybkie poprawki:
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;
});
}
a następnie w przypadku korzystania modernizr:
if (Modernizr.touch) {
touchScroll($('.myScrollableContent'))
}
ale to nie jest idealny, ponieważ wszystkie urządzenia dotykowe-stanie będzie mieć ten.
Jeśli używasz PhoneGap można zrobić (gdzieś po PhoneGap inited):
if (window.device && device.platform=="Android" && parseInt(device.version) < 3){
touchScroll($('.myScrollableContent'))
}
Dla klikalne linki itp do pracy wewnątrz funkcją przewijania zawartości, trzeba usunąć 'event.preventDefault();' z wydarzenie 'touchstart'. – awe
to prawda! dzięki za wskazanie tego. Usuwam to z mojej odpowiedzi. –
Nie działa w wersjach Androida starszych niż 3.0 – eversor