我有一个用户搜索栏,可以创建一个包含相关用户的div,并在您关注时消失。但是,如果我点击用户列表div,我不想关注。这有可能实现吗?
的application.js:
$(function() {
$("#user_header_search_form input").focusout(function() {
$('#header_user_list').html('');
});
});
$( '#header_user_list')的html( '')。如果用户点击“#header_user_list”
,我不想运行此链接答案 0 :(得分:0)
替代方法可能是:
$(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);
});
希望它有所帮助!