此代码曾经在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”代码时,它运行得很好。也许“开”不是一个好的替代品?
答案 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
});