Да, какой тут, собственно, тестовый код? Есть блок, который отображается, если ввести какой-то текст в поле поиска:
<div class="header-search" ng-controller="SearchFieldController">
<input ng-model="query" type="text" placeholder="ПОИСК" maxlength="32" ng-keypress="search($event)" ng-trim="true">
<div ng-if="isSuggestVisible()" class="header-search-suggest">
<!-- ... тут repeat с результатами поиска -->
</div>
</div>
$scope.isVisible = function(entity) {
return (foundedResults.length > 0);
}
Если как-то всю страницу обернуть в контроллер и isVisible хранить в $rootScope? Как-то не нравится мне такая идея... Ну, что, неужели я первый кто столкнулся с подобной задачей?
Как вариант вот так: ng-blur="clearSearch()" Но если фокус теряется до окончания запроса, то саггест висеть остаётся и при клике по самому саггесту (по ссылкам) он пропадать не должен...