2013-07-11 2 views
0

У меня есть панель поиска пользователей, которая создает div, содержащий соответствующих пользователей, и она исчезает, когда вы фокусируетесь. Однако я не хочу фокусироваться, если я нажму на div списка пользователей. Можно ли это достичь?выполнить команду jquery, если пользователь не нажмет на div

application.js:

$(function() { 
    $("#user_header_search_form input").focusout(function() { 
     $('#header_user_list').html(''); 
    }); 
}); 

$ ('# header_user_list') HTML ('');. Я не хочу, чтобы запустить эту ссылку, если пользователь нажимает «#header_user_list»

ответ

0

Alternativa подход может быть:

$(document).click(function(event){ 

    var clicked = $(event.target); 

    //if the clicked element is not son of the input or the list, clear the list. 
    if(clicked.closest("#user_header_search_form input,#header_user_list").size() == 0) 
    $('#header_user_list').html(''); 

}); 

Другой вариант установки задержки перед очисткой списка. Это будет работать, если пользователь должен выбрать только один элемент из списка:

$("#user_header_search_form input").focusout(function() { 
    setTimeout(function(){ 
     $('#header_user_list').html(''); 
    },50); 
}); 

Надеюсь, это поможет!

Смежные вопросы