javascript - 当另一个下拉菜单打开时,angularjs 下拉菜单不会关闭

标签 javascript jquery angularjs drop-down-menu

我正在尝试创建下拉菜单的自定义指令。
这是我的代码:https://plnkr.co/edit/YqJ6tz4fwvBRmtmzeCJr

为了关闭下拉列表,我正在检查该指令元素外部的点击事件。

 $document.bind('click', function() {
    scope.closeDropdown();
  });

但是此代码的问题是,当打开一个下拉列表并单击另一个下拉列表时,第一个下拉列表不会关闭。

点击另一个下拉菜单时如何关闭下拉菜单? 我可以通过在 Controller 中声明一个变量并每次在打开下拉列表之前进行检查来实现此目的。但这样该指令就不能独立使用。

有什么帮助吗?

最佳答案

一种方法是:

 scope.toggleCheck = function(item,element){
                scope.closeDropdown();
                if(scope.multiSelect){
                    scope.multiChoice(item);
                }else{
                    scope.singleChoice(item);
                }
            };

或者更好的方法:

 scope.openDropDown = function () {
                $('.dropdown-list').css('display','none');
                elem.find('.dropdown-list').css('display','block');
            };

https://plnkr.co/edit/zwTjiktY8H3HmHnvQnoa?p=preview

关于javascript - 当另一个下拉菜单打开时,angularjs 下拉菜单不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38179345/

相关文章:

javascript - ng-click 不工作,不知道为什么

css - 摆脱重叠的div

javascript - Webpack LESS 加载器,发生在页面渲染之后

javascript - 一维阵列 - 以最少的浪费确定最佳容器尺寸

javascript - Node.js - 在另一个线程中暂停脚本执行

javascript - Jquery ajax Post 不起作用?

javascript - 在特定页面的模板标题中包含 Google 实验代码

javascript - 使用 javascript 变量代替 json 文件

jquery - 单击图像下方具有较高 z-index 的内容

angularjs - 如何在 Angular js中显示依赖选择框选项