Esta respuesta puede ser un poco tarde ... pero como estaba atascado en el mismo problema, esta es mi solución, que funciona muy bien. Nota: Esta solución requiere jquery, pero la estoy usando de todos modos.
La parte de la escritura:
function iscroller_init() {
var iscroller = $('.iscroller');
iscroller.each(function(index){
$(this).addClass('iscroller'+index).attr('iscroller_id','iscroller'+index);
var tmpfnc = new Function('var myScroll'+index);
tmpfnc();
var tmpfnc = new Function('myScroll'+index+' = new IScroll(\'.iscroller'+index+'\', { mouseWheel: true });');
tmpfnc();
});
}
function iscroller_reinit (el) {
var el = $(el);
var iscroller = $('.iscroller');
var i = iscroller.index(el);
var tmpfnc = new Function('var myScroll'+i+' = new IScroll(\'.iscroller'+i+'\', { mouseWheel: true });');
tmpfnc();
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
$(document).ready(function(){
if ($('.iscroller').length > 0) iscroller_init();
});
El html:
<div class="scrollholder fl">
<div class="iscroller">
<div class="scroller">
<ul>
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>Pretty row 3</li>
<li>Pretty row 4</li>
.....
<li>Pretty row 47</li>
<li>Pretty row 48</li>
<li>Pretty row 49</li>
<li>Pretty row 50</li>
</ul>
</div>
</div>
</div>
donde el padre <div class="scrollholder fl">
es el div padre, que se puede colocar donde desee, y varias veces. Información: La clase "fl" funciona como separador css para "float:left;"
en mi caso y no corresponde a ninguna función iscroll. La segunda función iscroller_reinit (el)
es para la reinicialización de un solo iscroller específico, puede dispararse después de que el contenedor se haya cargado mediante una solicitud ajax.
Esto funcionó para mí, yo estaba teniendo problemas con él también http://stackoverflow.com/a/7159687/903000 – Mike