我正在使用 jQuery Mobile 导航选项卡。我为所有页面(如footer.html)采用一个通用页脚,并在运行时将此页脚加载到页脚div 上。这正如我所愿。
这是我的footer.html代码
<div data-role="footer" data-id="foo1" data-position="fixed">
<div data-role="navbar">
<ul id="footertab">
<li id="home"><a href="#page1" data-transition="none" data-icon="tab-home" ></span>Home</a></li>
<li><a href="#page2" data-transition="none" data-icon="tab-alert" ><span class="count">6</span>Alerts</a></li>
<li><a href="#page3" data-transition="none" data-icon="tab-services" >Services</a></li>
<li><a href="#page4" data-transition="none" data-icon="tab-learn">Learn</a></li>
<li><a href="#page5" data-transition="none" data-icon="tab-setting">Settings</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
</div><!-- /page -->
我使用此代码在运行时添加此页脚。
$(document).on('pageinit', function(event){
$(".addfooter").load('footer.html', function(){
$(this).trigger("create");
});
});
这运行良好。但我对此代码有一些问题。它不显示活动选项卡。我知道我必须在我选择的选项卡中添加 class='ui-btn-active ui-state-persist'。但我不确定如何用 java 脚本添加和替换它。我不想用在所有页面上写这个页脚。
对于此任务,我在脚本中使用此代码
$(document).delegate('[data-role="navbar"] a', 'click', function () {
alert("calling tab click");
$(this).addClass('ui-btn-active ui-state-persist');
});
每次单击任何选项卡时都会调用此函数。但它确实显示了选定的选项卡。所有选项卡都被取消选择。我怎么解决这个问题。请建议我