无法解决我在这里做错了什么。如果搜索字段中没有任何内容或点击网站的任何区域,我希望自动完成div关闭,类似于onblur。相反,div保持存在。这是我的代码:
$(document).ready(function(){
$(".search").keyup(function()
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox=='')
{
}
else
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#display").html(html).show();
}
});
}return false;
});
});
“显示”是我的自动完成div。
答案 0 :(得分:0)
试试这个 -
var handler = function(event){ // to hide "#display" on elsewhere click
if($(event.target).not("#display *") || $(".search").val().length != 0) return;
$("#display").hide();
}
$(document).on("click", handler);
上面的处理程序,当隐藏在其他地方时隐藏display
div。如果在display
内单击,则不会隐藏。
并且
$(".search").keyup(function(){
var searchbox = $(this).val();
if(searchbox.length === 0) // if field is blank hide div again.
$("#result").hide();
.... // remaining code ----