Заставьте меню поиска исчезать, когда поле поиска теряет фокус, но все же позволяет пользователю нажимать на ссылки - PullRequest
5 голосов
/ 04 марта 2011

На моем сайте У меня есть окно поиска (поле ввода текста). Когда пользователь нажимает на него и начинает набирать текст, появляется меню ссылок. Меню появляется через JQuery - следующая команда заставляет меню появиться:

".focus(function() {
    $("#instant_search_wrapper").show();
}); "

Когда пользователь щелкает окно поиска, я бы хотел, чтобы меню исчезло.

Самый простой способ сделать это - использовать следующую команду:

".blur(function() {
    $("#instant_search_wrapper").hide();
});" 

Однако, если я сделаю это, то, когда пользователь нажимает на ссылку в меню, поле ввода текста теряет фокус, и поэтому меню исчезает, прежде чем пользователь перейдет на страницу выбора. Как сделать так, чтобы меню исчезало, когда поле поиска теряет фокус (но если пользователь нажимает на ссылку до того, как поле поиска теряет фокус, он / она все еще может быть перенаправлен на ссылку)?

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

Вам необходимо привязать щелчок к телу, чтобы скрыть

$(document).click(function() {
      $("#instant_search_wrapper").hide();

});

См. Рабочий пример на http://jsfiddle.net/WYbp3/4/

0 голосов
/ 04 марта 2011

Можете ли вы быть более конкретным, я не понимаю вопроса.Я проверил ваш сайт, и когда я начинаю что-то печатать, отображается модальное меню стиля рамки с результатами.Затем, если я размываю поле ввода, поле все еще там.

...