你好,我正在 angularjs 中开发 Web 应用程序。在右上角,我有一个下拉框,只有在用户登录后才会激活。我有一个场景,用户单击下拉菜单,一旦他单击页面上的任意位置,我想关闭下拉菜单。长期以来我一直在努力解决这个问题。我创建了 plunker 是为了正确理解我面临的问题。
`https://plnkr.co/edit/4RjrBDHE6mmxofwRovfB?p=preview`
我可以在这里得到一些帮助来解决这个问题吗?任何帮助将不胜感激!。谢谢...
您可以使用$event.stopPropagation
。您可以添加以下代码以使其工作
HTML:
<div class="user" ng-click="OpenDropdown($event)">
<h1>Dropdown</h1>
<div class="user-dropdown" ng-show="dp" id="ProfileDropdown"></div>
</div>
JS:
$scope.OpenDropdown = function(event) {
if ($scope.dp === false || $scope.dp === undefined) {
$scope.dp = true;
event.stopPropagation();
} else {
$scope.dp = false;
}
};
window.onclick = function() {
if ($scope.dp) {
$scope.dp = false;
$scope.$apply();
}
};
工作演示: https://plnkr.co/edit/6h91NXc4S8zD7jAbOz33?p=preview
如果你想使用指示要实现这一目标,请查看此solution
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)