2013-11-11 2 views
10

У меня есть приложение angularjs, которое используется для открытия и скрытия скрытого div.AngularJS - Как скрыть div при нажатии за его пределами

Вот jsfiddle с образцом - jsfiddle

$scope.openLogin = function(){ 
    $scope.userLogin = true; 
}; 
$scope.hideLoginContainer = function(){ 
    $scope.userLogin = false; 
}; 

Когда я нажимаю на «Нажмите здесь» ссылка будет показывать пользователя для входа в DIV, так что мне нужно, чтобы скрыть это Див, когда я нажимаю на улице. Проблема, с которой я сталкиваюсь здесь, - это даже щелкнуть внутри пользовательского логина, который он скроет.

Кто-нибудь знает какие-либо хорошие идеи? Благодаря

+0

Угадайте, кто-то отредактировал образец скрипта, предоставленный в вопросе. Это прекрасно работает –

ответ

6

Он должен быть разработан, просто редактировать: <div hide-login="hideLoginContainer()" class="loginBox" ng-show="userLogin" style="display:none;" >

1

Вы можете проверить originalTarget или srcElement в $document.bind('click') обработчик событий, и если он будет соответствовать loginBox элемент, то вы не скрывают его.

Edit: я просто понял ... вы должны использовать stopPropagation() также на LoginBox элемента, оно должно быть достаточно, чтобы исправить прячась при нажатии внутри входа в поле

Смежные вопросы