jQuery 移动 - 带有后退按钮的永久工具栏
jQuery Mobile - Persistent Toolbars with backbutton
编辑
Fiddle 那个问题:https://jsfiddle.net/9k449qs2/ - 调试 fiddle 并尝试 select header 用你的选择器。您将无法这样做,它会在您每次点击时 select 显示整个页面。
我正在处理一个具有持久 header 和页脚的项目。只是通过点击应用程序更改内容。现在我想在 header 中添加一个后退按钮,我用的是:
<header id="headerMain" data-position="fixed" data-role="header">
<a href="#" data-rel="back">
<div class="backButton">GO BACK</div>
</a>
</header>
我在 header 之后的其余代码如下所示:
<div data-role="page" id="pageMain">
<div class="content gray">
<a href="#checkConnection">adfjsöalfjasödf</a>
</div>
</div><!-- pageMain end -->
<footer id="footerMain" data-position="fixed" data-role="footer">
Footer
</footer>
<div data-role="page" id="checkConnection">
<div class="content gray">
<button id="checkConnectionState" class="button" onclick="CTFNetworkState()">Check your Connection</button>
<a href="#checkBattery">
<button id="checkBatteryState" class="button">Check your Battery</button>
</a>
</div>
</div> <!-- checkConnection end -->
<div data-role="page" id="checkBattery">
<div class="content gray">
<p>Just plug your device and you'll get information about your battery state.</p>
</div>
</div> <!-- checkBattery end -->
所以一切正常,过渡等等。但我无法让后退按钮工作。他不可点击。每个页面上的 header 都不能以任何形式点击。如果我使用 gapDebug 调试它并单击 header,GapDebug 标记 Pagecontainer 而不是 header.
那么,如何让 header 中的后退按钮在每个页面上都可以点击?
编辑
所以 header 不关心我在里面放了什么样的按钮。无论我选择什么按钮,或者我向 <a></a>
添加什么属性,它都不可点击。
所以我再次尝试 运行 GapDebug,按下 "Inspect" 按钮,然后点击我的后退按钮,它 select 告诉我错误的页面代码。
所以我找到了解决方案。问题是,不是持久工具栏的文档帮助了我,而是外部工具栏的文档帮助了我。
只需添加
$(function(){
$( "[data-role='header'], [data-role='footer']" ).toolbar();
});
在您的 <script></script>
标签内,一切正常。发生这种情况 Because these toolbars are not within the page they will not auto initalize. You must call the toolbar plugin yourself.
编辑
Fiddle 那个问题:https://jsfiddle.net/9k449qs2/ - 调试 fiddle 并尝试 select header 用你的选择器。您将无法这样做,它会在您每次点击时 select 显示整个页面。
我正在处理一个具有持久 header 和页脚的项目。只是通过点击应用程序更改内容。现在我想在 header 中添加一个后退按钮,我用的是:
<header id="headerMain" data-position="fixed" data-role="header">
<a href="#" data-rel="back">
<div class="backButton">GO BACK</div>
</a>
</header>
我在 header 之后的其余代码如下所示:
<div data-role="page" id="pageMain">
<div class="content gray">
<a href="#checkConnection">adfjsöalfjasödf</a>
</div>
</div><!-- pageMain end -->
<footer id="footerMain" data-position="fixed" data-role="footer">
Footer
</footer>
<div data-role="page" id="checkConnection">
<div class="content gray">
<button id="checkConnectionState" class="button" onclick="CTFNetworkState()">Check your Connection</button>
<a href="#checkBattery">
<button id="checkBatteryState" class="button">Check your Battery</button>
</a>
</div>
</div> <!-- checkConnection end -->
<div data-role="page" id="checkBattery">
<div class="content gray">
<p>Just plug your device and you'll get information about your battery state.</p>
</div>
</div> <!-- checkBattery end -->
所以一切正常,过渡等等。但我无法让后退按钮工作。他不可点击。每个页面上的 header 都不能以任何形式点击。如果我使用 gapDebug 调试它并单击 header,GapDebug 标记 Pagecontainer 而不是 header.
那么,如何让 header 中的后退按钮在每个页面上都可以点击?
编辑
所以 header 不关心我在里面放了什么样的按钮。无论我选择什么按钮,或者我向 <a></a>
添加什么属性,它都不可点击。
所以我再次尝试 运行 GapDebug,按下 "Inspect" 按钮,然后点击我的后退按钮,它 select 告诉我错误的页面代码。
所以我找到了解决方案。问题是,不是持久工具栏的文档帮助了我,而是外部工具栏的文档帮助了我。
只需添加
$(function(){
$( "[data-role='header'], [data-role='footer']" ).toolbar();
});
在您的 <script></script>
标签内,一切正常。发生这种情况 Because these toolbars are not within the page they will not auto initalize. You must call the toolbar plugin yourself.