我在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中)。所以它意味着它是动态构建的。
答案 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