Jquery mobile jquery mobile-JQM 1.4.5导航栏在面板覆盖后未保持活动状态

Jquery mobile jquery mobile-JQM 1.4.5导航栏在面板覆盖后未保持活动状态,jquery-mobile,navbar,Jquery Mobile,Navbar,最初,选项卡1设置为ui btn活动和ui状态保持样式-如果单击burger图标,面板覆盖将显示,如果单击其他选项卡,选项卡1仍处于活动状态 但如果选择Tab Two,然后单击burger图标以显示面板覆盖,则Tab Two将失去其活动状态 在使用面板覆盖时,有没有办法保持选项卡处于活动状态 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me

最初,选项卡1设置为ui btn活动和ui状态保持样式-如果单击burger图标,面板覆盖将显示,如果单击其他选项卡,选项卡1仍处于活动状态

但如果选择Tab Two,然后单击burger图标以显示面板覆盖,则Tab Two将失去其活动状态

在使用面板覆盖时,有没有办法保持选项卡处于活动状态

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
        <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
    </head>

    <body>
        <div data-role="page">

            <div data-role="header" data-position="fixed" data-fullscreen="false">
                <a href="#panel-overlay" class="ui-btn ui-btn-left ui-alt-icon ui-nodisc-icon ui-corner-all ui-btn-icon-notext ui-icon-bars">Menu</a>
                <h1>Demo</h1>
            </div>

            <div data-role="tabs" id="tabs" style="padding:0px;">
                <div data-role="navbar">
                    <ul>
                        <li><a href="#one" class="ui-btn-active ui-state-persist">Tab One</a></li>
                        <li><a href="#two">Tab Two</a></li>
                        <li><a href="#three">Tab Three</a></li>
                    </ul>
                </div>

                <div id="one" class="ui-content" date-role="content">
                    <p>First tab Content</p>
                </div>

                <div id="two" class="ui-content" date-role="content">
                    <p>Second tab contentnt</p>
                </div>

                <div id="three" class="ui-content" date-role="content">
                    <p>Thrid tab contentnt</p>
                </div>
            </div>

            <div data-role="panel" id="panel-overlay" data-display="overlay">
                <ul data-role="listview">
                    <li><a href="#">Menu 1</a></li>
                    <li><a href="#">Menu 2</a></li>
                </ul>
            </div>

        </div>
    </body>
</html>

演示
第一个选项卡内容

第二选项卡内容

第三标签内容


以下是此问题的通用修复程序:

$(document).on("panelbeforeopen", "div[data-role='panel']", function(e,ui) {
    $.mobile.activeClickedLink = null;
});
如果您已经在代码中的某个地方打开了
面板
回调,只需放置修补程序
$。mobile.activeClickedLink=null在你的函数中。

在它上面写着:注意:目前不建议与tabs小部件一起使用链接打开弹出窗口和面板。单击这些链接将删除所选选项卡的活动状态样式。->@deblocker的解决方案对我有效