【发布时间】:2013-07-08 04:07:21
【问题描述】:
很明显,这是一个时间问题。我有一个正在开发的 jQuery 移动应用程序。我正在执行将项目附加到列表视图的标准方法。然后在附加项目后调用refresh。是的,我在 html 的头部有 jQuery 和 jQuery mobile,是的,我使用的是 'pageinit' 事件而不是 $(document).ready()。以下是来源:
JS
GetApps: function () {
$('#manage-apps-list').empty();
$.get('../../../config.xml', function (data) {
$(data).find('app').each(function () {
var $this = {};
$this = $(this);
$('#manage-apps-list').append(
$('<li/>').append(
$('<a/>').attr('href', "#app-settings").attr('data-id', $this.find('id').text()).html($this.find('title').text()).off('click').on('click', function () {GetAppDetail($(this).attr('data-id'));})
)
);
});
});
$('#manage-apps-list').listview('refresh');
}
HTML
<div id="manage-apps" data-role="page" data-theme="d">
<div data-role="content">
<a href="#settings" data-role="button" data-mini="true" data-inline="true">Back</a>
<h2>Manage Apps</h2>
<ul id="manage-apps-list" data-role="listview" data-inset="true"></ul>
</div>
</div>
这不是要看到的初始页面,而是一个子页面。结果如下:
我已经在我的应用程序中多次执行此操作,并且始终可以正常运行。我什至使用相同版本的$ 和$.mobile
我在 SO 上看到了很多关于此的其他问题,但他们都没有拨打refresh...
【问题讨论】:
-
在
$.get结束前刷新。
标签: listview jquery-mobile refresh