![](/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.