繁体   English   中英

Jquery Mobile刷新上一页后退按钮

[英]Jquery Mobile Refresh Previous Page On Back Button

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

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

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

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

更新:

我不能使用“document.location”,因为我不能在“后退”导航堆栈中显示某些页面。

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

我试过了:

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

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

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

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

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

这应该工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM