2

我正在制作的应用程序有一个列表视图,当单击列表视图项目时,它会打开一个显示一些信息的新页面。

当我最初单击一个列表视图项目时,该页面可以正常打开,没有任何问题。当我单击后退按钮并单击另一个列表视图项时,页面加载但根本没有 JQM 样式。

我设法用下面的代码解决了上面的问题,但是现在页面第二次加载显示无样式的页面,屏幕闪烁并且正确加载。如何在没有在 pageshow 事件上重新加载屏幕的情况下获得相同的最终结果。

重新加载页面的代码:

$("#moduleinfo").live('pageshow', function() {
    $('#infoPara').trigger("create");
});

根据单击的列表视图项创建页面的代码

var output = "Module Code: " + results.rows.item(0).module +
    "<br/>Room No: " + results.rows.item(0).room +
    "<br/>URL:" + results.rows.item(0).url + 
    "<b/r><a href='#' data-role='button' data-theme='d' onclick='openURL(\"" 
    + results.rows.item(0).url + "\")'>Open URL</a>" +
    "</br><a href='#' data-role='button'  onclick='deleteEntry(\"" 
    + results.rows.item(0).id + "\")'>Delete Entry</a>";


$('#infoPara').html(output);
$.mobile.changePage( "index.html#moduleinfo", { transition: "slide"} );

页面 HTML

<div data-role="primary-content" id="modinfo">
    <p id="infoPara"></p>
</div>

很确定我的问题与这个问题有关:
How to get jQuery mobile magic to work in "pageshow" event handler? (JQM 1.1.0)

谢谢!

4

0 回答 0