2012-08-08 59 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