![](/img/trans.png)
[英]jQuery Mobile - Remove back button only when pointing to a particular page
[英]Remove page from JQuery Mobile history such that 'Back' button bypasses it
我没有看过jQuery Mobile文档,所以希望这里有人解决了我到目前为止找不到的方法。
我有一个以常规方式投放的jQuery移动页(称为“项目显示”)。 它包含有关特定项目的信息。 此页面上有一个按钮,可将用户带到一个页面,在该页面上他/她可以在显示的项目上做笔记(基本上是大文本区域)。 单击注释页面上的“保存”,开机自检并重定向回项目显示页面。
我的问题是,一旦保存了便笺,我希望项目显示页面上的“返回”按钮链接回到用户在首次访问项目显示页面之前所在的页面,而不是默认的采取用户行为返回注释页面(从技术上讲,这是用户访问的最后一页)。
因此,当前行为:
项目列表页面->项目显示页面->单击“在项目上编辑注释”->注释页面->单击“保存”->项目显示页面->单击“返回”->注释页面。
我想用“返回”代替最后一步,将用户带到项目列表页面。
有这样的运气吗? 感谢您提供的所有指导
您可以更改页面而不将其保留在浏览器历史记录中,如下所示:
$.mobile.changePage('#page', {reverse: false, changeHash: false});
这基于此答案: jQuery mobile,删除上一页
我遇到了与您相同的问题,并且我创建了一种方法,这是唯一可行的方法。 如果有人知道更好,那将大有帮助! 因此,让我解释如何解决(这有点复杂,但对我有用)。
您将需要覆盖“后退”按钮,以按所需html中的X页回滚历史记录,例如:
$(document).ready(function() {
$('[data-rel=back]').click(function() {
window.history.go(-4);
return false;
});
});
但是,4实际上是会话中的导航计数器变量。
如果您使用jsf,它将像这样:
window.history.go(-#{mySessionManagedBean.navigationCounter});
此外,您需要初始化和递增此每次页面更改。
如果您使用jsf,它将像这样:
<h:commandButton ...>
<f:setPropertyActionListener target="#{mySessionManagedBean.navigationCounter}" value="#{mySessionManagedBean.navigationCounter + 1}" />
</h:commandButton>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.