【问题标题】:Dropdown submenu stays open下拉子菜单保持打开状态
【发布时间】:2018-12-12 03:33:27
【问题描述】:

即使在我单击同一级别的“li”项目后,下拉子菜单仍保持打开状态。当我单击其他项目(即“查看草稿/过去的申请”和“注销”时,如何关闭下拉子菜单? 这是我的代码。

    <div class="navbar-collapse collapse" id="myNavbar">
                        <ul class="nav navbar-nav navbar-right  nav-item">
                            <li><a href="" ng-click="goHome()"><span class="glyphicon glyphicon-home"></span> <strong>Home</strong></a></li>
                            <li class="dropdown" data-ng-controller="rootController" uib-dropdown>
                                <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" uib-dropdown-toggle>
                                    <span class="glyphicon glyphicon-user"></span>
                                    <strong>Welcome {{authentication.userName}}</strong>
                                </a>
                                <ul class="dropdown-menu" role="menu" uib-dropdown-menu >
                                    <li class="dropdown-submenu" >
                                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-cog"></i>   Manage Account</a>
                                        <ul class="dropdown-menu" uib-dropdown-menu style="top:100%;right:100%">
                                            <li role="menuitem" ><a data-ui-sref="ManageProfile" data-ng-click='go()'><i class="glyphicon glyphicon-pencil"></i>   View/Edit Organisation Profile</a></li>
                                            <li role="menuitem" ><a data-ui-sref="ManagePersonalProfile" data-ng-click='go()'><i class="glyphicon glyphicon-pencil"></i>   View/Edit Personal Profile</a></li>
                                            <li role="menuitem"><a data-ui-sref="AddBranch" data-ng-click='go()'><i class="glyphicon glyphicon-edit"></i> Add Branch</a></li>
                                        </ul>
                                    </li>
                                    <li>
                                        <a data-ui-sref="SavedDraft" data-ng-click='go()'><i class="glyphicon glyphicon-record"></i>   View Draft/Past Application</a>
                                    </li>
                                    <li>
                                        <a href="javascript:;" data-ng-click="logOut()"><i class="glyphicon glyphicon-log-out"></i>   Log Out </a>
                                    </li>
                                </ul>
                            </li>                               

                        </ul>
                    </div>
    <script type="text/javascript">
    (function ($) {
        $(document).ready(function () {
            $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function (event) {
                event.preventDefault();
                event.stopPropagation();
                $(this).parent().siblings().removeClass('open');
                $(this).parent().toggleClass('open');
            });
        });
    })(jQuery);

单击下拉菜单时出现此错误。我认为这是因为 jquery 冲突。如何解决这个问题? 未捕获的错误:语法错误,无法识别的表达式:# 在 Function.u.error (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 u.tokenize (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 u.select (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 Function.u [as find] (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 i.fn.init.find (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在新的 i.fn.init (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 i (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1) 在 u (bootstrap?v=a0JlrK3HWJYO4CANWtnjZQ6r-FHTgFewh3ItuNGmfr41:1) 在 HTMLAnchorElement。 (引导程序?v=a0JlrK3HWJYO4CANWtnjZQ6r-FHTgFewh3ItuNGmfr41:1) 在 Function.each (jqueryTest?v=TAv6ydUG1iyOHUWGhs7LKsQ8xhfxrCjB3MDSXsgtZS41:1)

【问题讨论】:

  • 你能创建 stackbitz 或 fiddle 吗?所以我可以详细检查你的代码。

标签: jquery angular drop-down-menu dropdown


【解决方案1】:

您需要在每个 li 项目上使用 data-target="#myNavbar" 来关闭它。

【讨论】:

猜你喜欢
相关资源
最近更新 更多
热门标签