javascript – 点击角度bootstrap ui时关闭下拉菜单

前端之家收集整理的这篇文章主要介绍了javascript – 点击角度bootstrap ui时关闭下拉菜单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在导航栏上有下拉菜单,仅显示移动设备.单击下拉菜单链接时,它只是移动到另一个路径.如您所知,此操作不会刷新整个页面.但即使我点击下拉列表中的菜单,它也不会消失.

如果单击菜单链接或路由更改,我想关闭下拉列表.我如何在angularjs bootstrap中做到这一点?

解决方法

如果您在单击bootstrap下拉菜单的任何选项时更新路线,那么您可以只注意路线更改事件:

假设你有以下链接打开工具提示.

<a class="dropdown-toggle">
  Click me for a dropdown,yo!
</a>

<ul class="dropdown-menu">
  <li ng-repeat="choice in items" class="ng-scope">
    <a class="ng-binding">The first choice!</a>
  </li><li ng-repeat="choice in items" class="ng-scope">
    <a class="ng-binding">And another choice for you.</a>
  </li><li ng-repeat="choice in items" class="ng-scope">
    <a class="ng-binding">but wait! A third!</a>
  </li>
</ul>

$scope.$on('$routeUpdate',function(scope,next,current) {
   $('html').trigger('click');
});

上面的方法是有效的,但绝对不需要在每次路由更改时抓取html元素(因为它会导致重排),所以最好把它放在指令中,如下所示:

<html hide-dropdown>

angular.module('App',[]).
  directive('hideDropdown',function() {
    return {
       restrict: 'A',link: function(scope,element) {
         scope.$on('$routeUpdate',current) {
           element.trigger('click');
         });
       } 
    }
  });

猜你在找的JavaScript相关文章