Ваша проблема в обработчике $('#search').focusout
, который вызывается всякий раз, когда вы щелкаете ссылку в #show_search
(или делаете что-нибудь , чтобы убрать фокус из окна поиска), поскольку оно включает
$(".show_search").hide();
, который скрывает окно результатов поиска.
Чтобы скрыть поле #show_search
при щелчке снаружи или вне ввода #search
, добавьте обработчик click
на всю страницу и проверьте, что щелчок не находится внутри одного из этих элементов; если это не так, закройте окно #show_search
:
$(document).on('click', function (e) {
if ($(e.target).closest("#search").length === 0 && $(e.target).closest("#show_search").length === 0) {
$('#show_search').hide();
}
});