2012-08-08 56 views
1

我有以下標題:jQuery Mobile的後退按鈕不回(不響應無HREF)

<div data-theme="b" data-role="header" data-add-back-btn="true" data-back-btn-text="Back" data-position="fixed"> 
    <h3>Title</h3> 

    <a data-role="button" data-transition="fade" data-theme="c" data-rel="back" href="" data-direction="reverse" 
     data-icon="arrow-l" data-iconpos="left" class="ui-btn-left" 
    > Back </a> 

    <a data-role="button" data-transition="fade" data-theme="c" 
     href="#page2" data-icon="arrow-r" data-iconpos="right" 
     class="ui-btn-right ui-disabled" 
    > Next </a> 
</div> 

後退按鈕不回去。如果我將它設置爲"""#",它會重定向到我的主頁。如果我沒有href屬性,則單擊該按鈕不會執行任何操作。

我在這裏做錯了什麼?

謝謝!

回答

0

如有疑問,請回到基本操作。

events : { 
     "click .back" : "back" 
    }, 

    back : function() { 
     window.history.back(); 
    }, 
2

您正在data-role="header"元素的上下文中操作,因此添加data-add-back-btn="true"應該足以添加後退按鈕。

我的猜測是jQM不希望看到帶有標題的另一個後退按鈕 - 因此不能正確地增強它。嘗試刪除data-add-back-btn="true"或您的自定義後退按鈕,這兩個都可能是問題。

在正常情況下,不需要設置href,您應該可以將其設置爲'#'。只要你有data-rel="back",jQM應該爲你處理這些功能。

+0

我試圖刪除我的按鈕,但沒有奏效。 – Garrett 2012-08-09 03:18:21

+0

你使用的是什麼版本的jQM? 'data-add-back-btn =「true」'只適用於v1.0.1以後的'data-role =「page」'。它也只會在您從另一個頁面導航到頁面時出現(即,當有東西需要轉換回時)。至於你的標準按鈕,沒有href,它就會像你在瀏覽器窗口中點擊「返回」一樣。如果沒有可用的歷史記錄,按鈕將不會執行任何操作。 – 2012-08-09 03:49:16

+0

啊,所以我不想使用'data-add-back-btn'因爲我當前的設置(使用Backbone動態地將頁面附加到主體)。我使用的是1.2.0版本。我也在'data-role =「頁面''上試過'$(page.el).attr('data-add-back-btn','true');''。它正確地創建了後退按鈕,但由於某種原因它總是返回到我的主頁('/')。我很困惑! – Garrett 2012-08-09 04:02:35