jquery - 多级下拉,侧边菜单在 ng-cloak 中不起作用

标签 jquery html css angularjs twitter-bootstrap

我正在基于这个 Bootstrap 模板创建网络应用程序: http://ironsummitmedia.github.io/startbootstrap-sb-admin-2/pages/index.html

但是我对多级下拉列表有疑问。在我的元素中,我使用的是 angular,这是我的主要索引:

<body>
    <div id="wrapper">
        <div ui-view="navbar" ng-cloak=""></div>
    </div>      
    <div class="well" ui-view="content" id="page-wrapper"></div>
    <...list of source file>
</body>

在 ui-view 导航栏中,我有导航栏、顶部和左侧菜单。在此导航栏中添加多级下拉菜单时,下拉菜单无法正常工作,它是可见的,但在单击时不会隐藏。但是,当我将它添加到 div 包装器下方时,一切正常,我不知道为什么在主索引中它可以工作,而在我的包装器中却没有。

最佳答案

我没试过ui-view,但是太难了。因为我不知道如何控制其他 ui View 。 如果你想在我的 repo 中检查我的指令模块 fsm-accordion.js :https://github.com/fsma/angularjs-sb-admin2

谢谢马可。 这是代码,我希望这对你有帮助 Pulkownik。

<!-- side menu--> 
    <li class="sidebar-search">
        <div class="input-group custom-search-form">
            <input type="text" class="form-control" placeholder="Search...">
            <span class="input-group-btn">
            <button class="btn btn-default" type="button">
                <i class="fa fa-search"></i>
            </button>
        </span>
        </div>
        <!-- /input-group -->
    </li>
    <!-- side menu -->
    <li ng-repeat="item in menu"  id="menu{{$id}}" >
        <a fsm-menu sub-data="{{item.scndmenu ? true : false}}" ng-href="{{item.url}}">    
            <i class="fa {{item.css}} fa-fw"></i> 
            {{item.title}}
            <span ng-if="item.scndmenu ? true : false" class="fa arrow"></span>
        </a>
        <ul id="scndmenu"  class="nav nav-second-level" >
            <li  ng-repeat="subitem in item.scndmenu" id="menusncd{{$id}}">
                <a fsm-menu sub-data="{{subitem.thrdmenu ? true : false}}" ng-href="{{subitem.url}}"> 
                    {{subitem.title}}
                    <span ng-if="subitem.thrdmenu ? true : false" class="fa arrow"></span>
                </a>
                <ul id="thrdmenu"  class="nav nav-third-level " >
                  <li ng-repeat="sub2item in subitem.thrdmenu" id="menuthrd{{$id}}">
                        <a ng-href="{{sub2item.url}}"> 
                            {{sub2item.title}}
                        </a>
                  </li>     
               </ul>
            </li>
        </ul>        
    </li>
    <!-- /side menu-->     

    angular.module('fsmAccordion', [])
       .directive('fsmMenu', ['$document', '$window',
           function($window, $document) {
               return {
                   restrict: 'EAC',
                   scope: "@",
                   link: function(scope, element, attr) {
                       element.on('click', function(e) {
                           var liElementId = e.target.closest('li').id;
                           for (var i = 0; i < $('#' + liElementId).parent().children().length; i++) {
                               if (attr.subData == "true") {
                                   e.preventDefault();
                               }
                               if ($($('#' + liElementId).parent().children()[i]).hasClass("active")) {
                                       $(this).parent().removeClass('active');
                               }
                           }
                           if ($('#' + liElementId + " ul").css("display") == "none") {
                               if (attr.subData == "true") {
                                   e.preventDefault();
                               }
                               $('#' + liElementId).addClass('active');

                           }
                       });
                   }
               };
           }
       ]);

关于jquery - 多级下拉,侧边菜单在 ng-cloak 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151136/

相关文章:

javascript - 允许正则表达式中的数字包括负数

javascript - 如何使用纯 JavaScript 和 CSS 制作轮播?

javascript - IE7 中的 JavaScript

html - 将 HTML 内容转换为图像

html - Google 字体(上面有一个空格)无法在 IE7/IE8 上呈现

ajax - jQuery ajax 调用重定向到另一个域的域(不遵循)

javascript - 使用 Ajax 回发后 JQuery Datepicker 错误

html - 为什么元素不完全在中心?

javascript - 需要使用 JavaScript 打印文本框的内容,但它会不断重复每个条目

css - 页脚没有被推到底部