Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.11.2014, 16:23
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от krutoy
bes,
спасибо
пожалуйста
Ответить с цитированием
  #12 (permalink)  
Старый 30.11.2014, 19:24
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

bes, krutoy, а теперь все тоже самое, но для фреймворка ангуляр

На раздел хоть иногда смотрите)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #13 (permalink)  
Старый 30.11.2014, 21:49
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от nerv_
bes, krutoy, а теперь все тоже самое, но для фреймворка ангуляр

На раздел хоть иногда смотрите)
не вижу тестового кода
Ответить с цитированием
  #14 (permalink)  
Старый 01.12.2014, 10:01
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

Да, какой тут, собственно, тестовый код? Есть блок, который отображается, если ввести какой-то текст в поле поиска:
<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()" Но если фокус теряется до окончания запроса, то саггест висеть остаётся и при клике по самому саггесту (по ссылкам) он пропадать не должен...

Последний раз редактировалось Sufir, 01.12.2014 в 10:22.
Ответить с цитированием
  #15 (permalink)  
Старый 01.12.2014, 11:00
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

$document.on('click', function (e) {
            var clickedOutside = true;

            for (var element = e.target; element; element = element.parentNode) {
                if (element.className === "header-search-suggest" || element.className === "header-search-suggest-inner") {
                    clickedOutside = false;
                    break;
                }
            }

            if (clickedOutside) {
                $scope.clearSearch();
                $scope.$apply();
            }

});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Как скрыть все DIV кроме заданного ID при клике? sibfox777 Элементы интерфейса 1 24.11.2014 18:16
Как не потерять курсор при клике? qwermjk Общие вопросы Javascript 5 29.08.2014 10:44
закрыти diva при клике вне его Hugo_O Элементы интерфейса 14 21.05.2010 14:39
Закрыть элемент при клике вне его masterm Общие вопросы Javascript 3 31.07.2009 11:27