uiScrollView不适用于jQUERY Mobile中的动态ListView

时间:2014-11-11 08:58:58

标签: javascript jquery jquery-mobile cordova uiscrollview

我在Cordova的jquery mobile 1.4中有一个动态列表视图,我正在使用iscrollview。如果列表视图不是动态的,那么滚动工作正常。然而,由于动态,它无法正常工作。我创建了一个jsfiddle;

$(document).on('pagebeforeshow', '#index', function(){ 
    var htmls = '<ul data-role="listview">';
    for(i = 0; i < 30; i++) {
        htmls +='<li><a href="#">Some link</a></li>';
    }
     htmls +='</ul>';
     $(".example-wrapper").append(htmls);
     $("ul", $('#index')).listview();
    $(".example-wrapper").iscrollview("refresh");
});

请注意,listview不存在于DOM中(在html中)。所以它意味着它是动态构建的。

1 个答案:

答案 0 :(得分:1)

我认为这不起作用,因为当你将html附加到example-wrapper时,iScroll已经生成了它的内部滚动元素。所以试试这个:

$(document).on('pagebeforeshow', '#index', function(){ 
    var htmls = '<ul data-role="listview">';
    for(i = 0; i < 30; i++) {
        htmls +='<li><a href="#">Some link</a></li>';
    }
     htmls +='</ul>';
     $(".example-wrapper .iscroll-content").append(htmls);
     $("ul", $('#index')).listview();
    $(".example-wrapper").iscrollview("refresh");
});

我分叉你的小提琴here