在JQM中刷新页面,然后激活pageinit

时间:2012-07-28 23:29:47

标签: jquery jquery-mobile

我有以下设置:

Page1有:

更新

  • 更新:input type="date"(在初始设置为今天)
  • 使用列表视图链接到其他页面(Page2)的按钮
  • 根据从列表中选择的用户获取更新的div 查看页面

Page2有:

  • 列出一堆链接的视图。

当用户点击Page2的链接时,它会根据Page1上的日期检查选择是否有效。如果是,则返回Page1并更新div,其中包含有关选择的大量信息。如果选择无效,则会弹出一个带有消息和Start Over按钮的对话框。

这一切都运行良好,但我想要做的是当用户点击Start Over重新加载并重定向到Page1

我就是这样做的:

<input type="button" class="reload" value="Start Over" />
$('.reload').live( "click", function()
{
    $.mobile.changePage( "#Page1", {
        transition: "slide",
        reverse: true,
        changeHash: true,
        reloadPage: true
    });
});

一旦页面重新加载,它就无法调用pageinit

$('#Page1').live( 'pageinit',function(event){
  setTodaysDate();
});

因此日期不会显示在Page1

页面需要重新加载,因为我必须休息div,因此它不会显示有关珍贵成功选择的任何信息。知道如何完成这项任务吗?

2 个答案:

答案 0 :(得分:0)

为什么不使用$('#Page1').on('pageshow', ...);

答案 1 :(得分:0)

尝试在第1页上添加以下代码,

$(document)
  .unbind("pageshow.initializedate")
  .bind("pageshow.initializedate",
    function(event){
      setTodaysDate();
    }
  );

请注意,页面初始化事件(例如pageinit)每个“页面”只会触发一次,而不是每次显示和隐藏页面时触发的show / hide事件。请注意,在jQuery mobile中,页面通过ajax加载并默认缓存。每页一次意味着它只会在第一次加载页面时触发,一旦页面被缓存并再次显示,页面初始化事件就不再执行。