當我在jquery中從一個頁面轉到另一個頁面,並使用瀏覽器後退按鈕返回上一頁時,上一頁的導航欄項目的選項卡狀態不會保留。請幫助jquery mobile在導航過程中沒有保持按鈕狀態
回答
您是否在導航欄中使用class="ui-btn-active ui-state-persist"
來保持標籤狀態?
檢查在link
問題與jQuery Mobile和其navbar
給出的例子是在更改頁面的過程。當您點擊navbar
項目時,您將立即初始化更改頁面過程,並且正確的樣式不會正確應用。但即使它們被正確應用,由於改變了頁面過程,它們也不會被傳播到DOM
。
在這種情況下,我們需要手動完成。你想要做的是刪除#href
從你的navbar
li元素或用#替換它的值。將單擊事件添加到相同的li元素。
當用戶點擊導航欄一個JavaScript的標籤必須刪除所有可用類呼籲:ui-btn-active
和ui-state-persist
。如果你在每個頁面都有一個導航欄,那麼讓它們都有一個相同的名字,因爲這個javascript將需要通過所有的頁面。當所有這些類都刪除,然後再次添加它們,但這次只能點擊/選擇navbar
項目。
現在手動初始化jQuery Mobile的changePage函數,讓它轉換到需要的頁面。當changePage函數結束其轉換時,navbar元素將被選中(如果您點擊後退按鈕,它也會在前一頁中被選中)。
工作例如:http://jsfiddle.net/Gajotres/6h7gn/
$(document).on('pagebeforeshow', '#index', function(){
$(document).off('click', '#custom-navbar li').on('click', '#custom-navbar li', function(e){
var selectedLi = $(this);
$('#custom-navbar li').each(function(index) {
var loopLi = $(this);
if(loopLi.find('a').hasClass('ui-btn-active') || loopLi.find('a').hasClass('ui-state-persist')) {
loopLi.find('a').removeClass('ui-btn-activ').removeClass('ui-state-persist');
}
if(loopLi.attr('id') == selectedLi.attr('id')) {
loopLi.find('a').addClass('ui-state-persist');
}
});
setTimeout(function(){
$.mobile.changePage(selectedLi.find('a').attr('data-href'), { transition: "slide"});
},100);
});
});
這適用於桌面瀏覽器,不適用於設備。當我從其他頁面返回時,它會將所有選項卡顯示爲選中狀態,無論我以前選擇了哪個選項。下面是我在pageinit中使用的代碼:var selectedItem = $(this); \t \t $(本).siblings()每個(函數(指數){ \t \t \t變種loopItem = $(本); \t如果(loopItem.find( 'A')hasClass('UI-BTN -active ')){ \t $(本).find(' A ')removeClass(' UI-BTN-活性UI狀態-堅持') ')removeClass('; \t} \t \t}) ; \t \t selectedItem.find('a').addClass('ui-btn-active').addClass('ui-state-persist'); – user694688 2013-06-02 18:38:49
- 1. 如何使選定的導航按鈕保持活動狀態
- 2. 保持狀態按鈕Android
- 3. 保持登錄狀態jQuery Mobile
- 4. JQuery Mobile和導航欄按鈕
- 5. jQuery Mobile隱藏的導航欄按鈕
- 6. 使用jQuery Mobile在所有頁面上保持導航欄
- 7. JQuery Mobile和ASP.NET MVC導航欄按鈕活動狀態不起作用
- 8. jQuery懸停狀態在導航菜單上保持閃爍
- 9. facebook導航控制元素如何在導航過程中保持打開狀態
- 10. 保持PCB和線程狀態保持在TCB中的過程狀態
- 11. Javafx按鈕保持「啓用」狀態
- 12. 保持安卓按鈕選擇狀態
- 13. jQuery UI單選按鈕保持選中狀態
- 14. 如何在導航欄中使用圖標按鈕(jQuery Mobile)
- 15. 通過JQuery Mobile動態添加按鈕
- 16. ReactJS:使用瀏覽器按鈕導航時保存狀態
- 17. 未按下其他按鈕時保持按鈕狀態
- 18. 如何在Vaadin中製作內容導航按鈕(點擊時保持按下狀態)
- 19. Jquery Mobile持久性導航欄 - 閃爍
- 20. JQuery Mobile - 持久標頭/導航
- 21. 全屏沒有導航和狀態欄
- 22. 如何在頁面導航和刷新之間保持導航菜單狀態
- 23. Android TextVIew在按鈕保持按下狀態時滾動
- 24. 保持在以前的狀態,除非按下按鈕
- 25. 將按鈕控件保持在按下狀態wp7?
- 26. 如何在jQuery Mobile默認導航欄中擁有更大的中心底部導航欄按鈕?
- 27. 沒有顯示jQuery Mobile的按鈕「按下按鈕」動畫
- 28. 在導航視圖上保存狀態
- 29. jQuery Mobile導航 - 爲什麼狀態爲空?
- 30. 在頁面之間導航時,保持頁面狀態
能有人爲回答這個問題,請 – user694688 2013-05-13 13:26:27
我希望你不介意,這是一個緩慢的一天,所以我回答你的其他問題。 :) – Gajotres 2013-05-28 13:21:50