【发布时间】:2013-06-16 05:46:52
【问题描述】:
这个问题已经被问过很多次关于堆栈溢出的问题,我已经尝试了所有问题的所有解决方案。以下是它们的列表:
一个:
var list = '';
for....
list += 'html...';
$('#mylist').append(list);
$('#mylist').listview('refresh'); // appending all at once with var
两个:
for....
$('#mylist').append('html...');
$('#mylist').listview('refresh'); // refresh once after appends
三:
for....
$('#mylist').append('html...');
$('#mylist').listview().listview('refresh'); // to init listview
四:
for....
$('#mylist').append('html...').listview('refresh'); // refresh after each append - BAD
我还尝试了更多变体。没有 .listview('refresh') - 样式在追加时被剥离。当我使用刷新调用时,它可以工作,但我收到 javascript 错误提示:
`未捕获的错误:无法在初始化之前调用列表视图上的方法;试图调用方法“刷新”
使用.listview().listview('refresh') 不起作用。
查看:https://stackoverflow.com/a/11943886/488407
PS:我使用的是最新版本的 jQuery mobile (v1.3.1),所以这个解决方案可能适用于早期版本。我在使用 Panels 时需要使用最新版本。
【问题讨论】:
-
精彩的文章。问题是什么?
-
通常 listview 不需要刷新事件。只要确保将此附加代码放在 中,而对 jQuery 和 jQM 的引用存在于
-
问题是 - 如何在将项目添加到列表后保留样式。
-
@passionateCoder - 我是通过绑定函数中的 javascript 闭包来执行此操作的。
-
@JashSayani 我们需要查看更多代码。无论如何,我已经给出了答案。看看这是否适合你
标签: jquery jquery-mobile