Angularjs 在Angular应用程序中单击任何链接时,如何隐藏引导导航栏下拉菜单?
在窄屏幕上,引导导航栏显示为覆盖页面内容的按钮面板。有许多问题和答案解决了当点击面板时隐藏面板的问题-这不是我试图解决的问题 这个问题是,当点击页面主体中的链接时,如何隐藏面板,以及当这些链接由AngularJs模板生成时,如何隐藏面板。有简单的解决办法吗 以下是Angular插入内容的主页的相关内容:Angularjs 在Angular应用程序中单击任何链接时,如何隐藏引导导航栏下拉菜单?,angularjs,twitter-bootstrap-3,Angularjs,Twitter Bootstrap 3,在窄屏幕上,引导导航栏显示为覆盖页面内容的按钮面板。有许多问题和答案解决了当点击面板时隐藏面板的问题-这不是我试图解决的问题 这个问题是,当点击页面主体中的链接时,如何隐藏面板,以及当这些链接由AngularJs模板生成时,如何隐藏面板。有简单的解决办法吗 以下是Angular插入内容的主页的相关内容: <html lang="en" xmlns:ng="http://angularjs.org" id="ng-app" ng-app="eepApp" ng-control
<html lang="en" xmlns:ng="http://angularjs.org" id="ng-app" ng-app="eepApp"
ng-controller="AppController">
<head>
...
</head>
<body>
<!-- Small screen menu -->
<div class="navbar navbar-default navbar-fixed-top visible-xs" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#navbar-collapse-id">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<ul class="nav navbar-nav navbar-left pull-left">
...
</div>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-id">
<ul class="nav navbar-nav navbar-right">
...
</ul>
</div>
</div>
</div>
<!-- Bigger screen menu -->
<div class="navbar navbar-default navbar-fixed-top hidden-xs" role="navigation">
...
</div>
<!-- Page content inserted by Angular here -->
<div id="partials" ng-view="partials"></div>
<script src="various JavaScript inculding Angular and jQuery"/>
<script>
// Hide navbar menu when item clicked
$(document).on('click', '.navbar-collapse.in', function(e) {
if ($(e.target).is('a') || $(e.target).parent().is('a')) {
$(this).collapse('hide');
}
});
</script>
</body>
</html>
...
切换导航
...
...
...
//单击项时隐藏导航栏菜单
$(文档).on('click',')。导航栏collapse.in',函数(e){
if($(e.target).is('a')| |$(e.target).parent().is('a')){
$(this.collapse('hide');
}
});
我采用了这种方法,当页面更改时,使用jQuery删除保持导航栏菜单打开(称为“in”)的类:
$scope.$on('$routeChangeStart', function() {
// Close navbar menu (if open) by removing the class that makes it visible
$('#navbar-collapse-id').removeClass('in');
});
这将添加到整个应用程序控制器中,该控制器还可以处理登录和注销等操作。您能更具体一些吗?提供一些代码来演示您所拥有的。@Skelly我已经添加了主页的一个精简版本。问题是如何获取Angular插入的内容,以便在单击内容中的任何链接时关闭引导菜单。页面中已有的on(“click”)JavaScript仅在单击菜单上的链接时关闭菜单。