您正在尋找的角click outside指令亞當喬伊特。您可以使用它的元素是這樣的:
<button id="my-button">Menu Trigger Button</button>
<div ng-controller="MenuController">
<div class="menu" id="main-menu" click-outside="closeThis()" outside-if-not="my-button">
...
</div>
</div>
當用戶點擊<div>
以外的任何位置,在你的控制器的closeThis()
功能將被執行。但是,如果用戶點擊my-button
元素,則不會將其計爲click-outside
。這使您可以定義應被忽略的元素。
你click-outside
功能可能有這樣的代碼:
function MenuController($scope) {
$scope.closeThis = function() {
showLogoutDiv = false;
}
}
或者你可以讓事情變得簡單,通過不使用範圍功能,只用這種形式指定在HTML中showLogoutDiv = false
:
<div ng-controller="MenuController">
<div class="menu" id="main-menu" click-outside="showLogoutDiv=false">
...
</div>
</div>
完美 - 偉大的指令:-) – userMod2