Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422

Сокрытие элемента при клике вне него

02.07.2016, 05:21. Показов 1720. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Имеется такой код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(function(){
    
    //Живой поиск
    $('.who').bind("change keyup input click", function() {
        if(this.value.length >= 2){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", //Путь к обработчику
                data: {'referal':this.value},
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn(); //Выводим полученые данные в списке
                }
            })
        }
    })
    
    $(".search_result").hover(function(){
        $(".who").blur(); //Убираем фокус с input
    })
    
    //При выборе результата поиска, прячем список и заносим выбранный результат в input
    $(".search_result").on("click", "li", function(){
        s_user = $(this).text();
   
        $(".search_result").fadeOut();
    })
 
})
Подскажите пожалуйста, каким образом можно убрать чтобы список убирался при выборе результата, а прятался только тогда, когда клик происходит за рамками поиска?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2016, 05:21
Ответы с готовыми решениями:

Скрыть div при клике вне элемента
Доброго времени суток. Для показа div'а и его скрытия при клике вне его границ использую вот такой код: $(function(){ $('#callback...

Закрыть div при клике вне его
День добрый, может есть у кого соображения по поводу: есть кнопка и уже имеющийся Javascript код. По клику на кнопке под ней появляется...

Показать/скрыть меню при клике вне его области
<button type="button" id="toggle">Меню</button> <ul class="nav" id="nav"> <li><a href="#">Home</a></li> <li><a...

11
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.07.2016, 05:30
ну во-первых удалить вот эту строку
JavaScript
1
$(".search_result").fadeOut();
потом добавить вот такую
JavaScript
1
2
3
4
$("body").click(function(event){
    if($(event.target).closest(".search_result li").length)
        $(".search_result").fadeOut();
})
Добавлено через 1 минуту
суммарно получается вот так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$(function(){
    
    //Живой поиск
    $('.who').bind("change keyup input click", function() {
        if(this.value.length >= 2){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", //Путь к обработчику
                data: {'referal':this.value},
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn(); //Выводим полученые данные в списке
                }
            })
        }
    })
    
    $(".search_result").hover(function(){
        $(".who").blur(); //Убираем фокус с input
    })
    
    //При выборе результата поиска, прячем список и заносим выбранный результат в input
    $(".search_result").on("click", "li", function(){
        s_user = $(this).text();
    })
    $("body").click(function(event){
        if($(event.target).closest(".search_result li").length)
            $(".search_result").fadeOut();
    })
})
Добавлено через 1 минуту
а если покажите разметку поиска, то я смогу убрать баг с сокрытием блока при клике на сам поиск
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
02.07.2016, 05:56  [ТС]
Благодарю за помощь
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.search_result li{
    list-style: none;
    padding: 5px 10px;
    margin: 0 0 0 0px;
    color: #0896D3;
    border-bottom: 1px #ccc solid;
    cursor: pointer;
    transition:0.3s;
    position: fixed;  z-index: 101;
}
 
.search_result li:hover{
    background: #9DF285;
}
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.07.2016, 05:58
это не то, это стили, мне же нужен html
0
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
02.07.2016, 06:10  [ТС]
HTML5
1
2
 <input type="text" name="referal" style="width:200px;margin-right:25%;" placeholder="" value="" class="who"  autocomplete="off">
    <ul class="search_result"></ul>
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.07.2016, 06:17
Лучший ответ Сообщение было отмечено Salvat как решение

Решение

тогда так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$(function(){
    
    //Живой поиск
    $('.who').bind("change keyup input click", function() {
        if(this.value.length >= 2){
            $.ajax({
                type: 'post',
                url: "search_ajax.php", //Путь к обработчику
                data: {'referal':this.value},
                response: 'text',
                success: function(data){
                    $(".search_result").html(data).fadeIn(); //Выводим полученые данные в списке
                }
            })
        }
    })
    
    $(".search_result").hover(function(){
        $(".who").blur(); //Убираем фокус с input
    })
    
    //При выборе результата поиска, прячем список и заносим выбранный результат в input
    $(".search_result").on("click", "li", function(){
        s_user = $(this).text();
    })
    $("body").click(function(event){
        if(!$(event.target).closest(".search_result li, .who").length)
            $(".search_result").fadeOut();
    })
})
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
03.07.2016, 11:00  [ТС]
Уважаемый BANO, подскажите пожалуйста, почему происходит вот так.

Форум режит ссылки, радикал ру
Данные выходят за скроллинг.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
03.07.2016, 11:42
Salvat, ссылки на файло обменники режутся сразу
для картинок есть "управление файлами". загружайте картинки на форум они и не будут резаться
0
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
03.07.2016, 14:16  [ТС]
BANO, а я искал где эта функция=) Загрузил.
Миниатюры
Сокрытие элемента при клике вне него  
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
03.07.2016, 14:42
Salvat, а в чём проблема то?
это вёрстка, это не ко мне
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
03.07.2016, 16:51  [ТС]
BANO, подскажите каким образом зафиксировать выпадающее меню возле input, как на скрин-шоте, а то когда скролл страницы прокручиваю, то список тоже уходит.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
03.07.2016, 16:55
Salvat, я же говорю, это к верстальщикам, я кодер
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2016, 16:55
Помогаю со студенческими работами здесь

Скрыть элемент при клике на него
Здравствуйте! Подскажите как правильно скрыть элемент при нажатии на него... Я написал такой код, но он не понимает, что я хочу. ...

Сворачивание блока при повторном клике на него
Доброго дня! На сайте используется простейший аккордеон: $(function() { $('.accordeon-content').not('.active').hide(); ...

Как написать скрипт для скрытия модального окна при клике вне окна(на боди) ?
У меня модальное окно вообще даже не открывается при нажатии на кнопку,потому что у меня так прописано в скрипте ...

Работа с меню. При клике на кнопке меню или вне его, меню должно закрываться
Добрый вечер! Изучаю JQuery. Вот ради развития решил написать меню, практически такое же как на Хабре. Два дня ломаю голову над тем, как...

Определение цвета элемента в canvas при клике
Возникла проблема с получением нужного цвета. В canvas нарисовала две фигуры. Необходимо при нажатии клавиши мыши получить цвет фигуры или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru