私のHTMLコードは次のとおりです。
<div style="float:right;">
<form>
<input id="search" onkeyup="lookup(this.value);" type="text" />
</form>
<div style="position:relative;">
<div id="suggestions" style="position:absolute;"></div>
</div>
</div>
私のjQueryコードは次のとおりです。
$("#search").blur(function(){
$('#suggestions').fadeOut();
});
私のJavaScriptコードは次のとおりです。
function lookup(inputString)
{
if(inputString.length == 0) {
$('#suggestions').fadeOut();
} else {
$.post("/ajax/search/", {queryString: ""+inputString+""}, function(data) {
$('#suggestions').fadeIn();
$('#suggestions').html(data);
});
}
}
私は次のことを試しましたが、うまくいきませんでした:
$(document.body).click(function(){
if (!$('#suggestions').has(this).length) {
$('#suggestions').hide();
}
});
私の質問は、 div#suggestions
の外をクリックしたときにa を非表示にする方法です。#suggestions
#search に文字がない場合にのみ回避されるようになりました