0

我正在使用 jQuery Mobile 构建一个移动网络应用程序。我面临一些非常奇怪的问题。

页面与标准标签相连。每当我点击一个链接时,地址栏中的位置会发生变化,我确实会被重定向到新页面,但为了让页面呈现某些内容,我需要使用 Cntrl+F5 显式刷新它或单击刷新浏览器按钮。我试过 FF11 和 Chrome。这是一个已知的问题?

谢谢

4

1 回答 1

0

我相信我确切地知道您正在经历什么,因为我的期望是页面就绪/加载事件会触发。有很多方法可以解决这个问题,例如:

首先,您可以简单地在源页面中添加以下子句以链接到目标页面:

rel = "external"

这将导致目标页面刷新并触发那些我认为具有您想要执行的 javascript 代码的页面加载事件。但是,您可能不希望页面表现出这种行为,所以......

另一个选择是向源页面添加一些脚本,当目标页面变为活动(或“活动”)时将触发该脚本:

$( '#YourTargetPageName' ).live( 'pageinit', function(event){
  alert( 'Hello from the TargetPage' );
  $('#SomeInputField').val('Changed text in the target page');
});

在上面的示例代码中,当您链接到目标页面时,它将显示弹出警报并更改所选输入字段的文本。

最后,如果您想在任何页面的开头执行相同的代码,那么您将添加以下脚本:

 $(document).delegate('.ui-page', 'pageshow', function () {
   alert( 'Hello from the beginning of every page' );
 });

您可以在 JQM 文档中探索许多其他选项(公平地说,我只是触及表面,因此有些选项可能更适合您的目的):

http://jquerymobile.com/test/docs/api/events.html

于 2012-06-26T20:03:52.737 回答