我有以下页面,
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" href="<%= ResolveUrl("~/css/jquery.mobile-1.3.0.min.css") %>" />
</head>
<body>
<form id="form1" runat="server">
<div>
<div data-role="page" id="newsDeatils">
<div data-role="content">
<h3 id="newsTitle"></h3>
<p id="newsCategory"></p>
<div id="newsDescription"></div>
</div>
</div>
</div>
</form>
<script src="<%= ResolveUrl("~/js/jquery.min.js") %>"></script>
<script>
$(document).bind("mobileinit", function () {
$.mobile.autoInitializePage = false;
});
</script>
<script src="<%= ResolveUrl("~/js/jquery.mobile-1.3.0.min.js") %>"></script>
<script src="<%= ResolveUrl("~/js/knockout-2.2.0.js") %>"></script>
<script src="<%= ResolveUrl("~/js/NewsDetails.js" )%>"></script>
<script>
$.mobile.initializePage();
</script>
</body>
</html>
NewsDetails.js将发送一个ajax请求,然后用表填充newsDescription div
。但没有什么工作?
答案 0 :(得分:1)
不是延迟初始化整个页面,最好允许全部初始化,然后初始化新代码。在jQm v1.3.2及更早版本中,您可以通过向成功回调添加以下代码来实现此目的。
$('#newsDescription table').trigger('create');
这将允许整个页面初始化并防止如果网络连接速度慢导致您的ajax请求需要一段时间,则会向用户发送无样式页面的闪存。
答案 1 :(得分:0)
我已将$.mobile.initializePage();
置于成功回调中,然后每件事都有效。