Jquery Mobile刷新上一页后退按钮

时间:2013-03-22 18:01:03

标签: jquery jquery-mobile

此代码曾经在JQM中用于从DOM中删除以前的页面,因此当您单击“返回”时,它将刷新上一页的内容。

$('div').live('pagehide', function(event, ui) {
    $(event.target).remove();
});

然而,由于“$()。live”已被弃用,而且我无法使用“on”或“bind”使用更新的参数,因此无法使用最新的JQuery更新。

有没有人为此找到了有效的解决方案?

更新:

我无法使用“document.location”,因为我无法在“Back”导航堆栈中显示某些页面。

例如,如果我转到“提交页面”并在提交时我只发出History.Back();电话,它会带您回到更新的“详细信息页面”。我不希望他们点击导航栏上的“返回”并再次返回“提交页面”,因为该项目无法提交两次。有理由我没有使用对话框或弹出窗口,但这太长而无法解释。

我试过了:

$(document).on("pagehide", "#PageId", function () {
      $(event.target).remove();
  });

它不能完全运行,它在我发出History.Back()时更改了URL路径;命令,但页面停留在“提交页面”。当我使用“$()。live”代码时,它运行得很好。也许“开”不是一个好的替代品?

2 个答案:

答案 0 :(得分:4)

威廉,你忘记了 事件 参数。

如果您想全局使用它来刷新“返回”上的所有先前页面,您可以使用“div”而不是“#PageId”。只需将其放在您的母版页的javascript中即可。

$(document).on("pagehide", "div[data-role=page]", function(event){
  $(event.target).remove();
});

答案 1 :(得分:3)

这应该有效:

$(document).on("pagehide", "#[pageID]", function() {
    // your code here
});
相关问题