我有一个搜索结果div,如果用户点击它之外的任何地方,我想隐藏它。它不是搜索条件div的子项。 我遇到的问题是.show()似乎根本没有触发。我原以为.hide()只会在初次点击搜索按钮后触发。显然,当搜索结果div关闭时,我.unbind()事件。
有点难过这个,所以任何帮助都会非常感激。
以下是一些示例代码。
function search(){
$('#criteria').bind('click',function(){$('#results').hide();});
$('#results').show();
$('#results').html('some html from ajax call');
}
<div id=criteria>
<input id=criteria1 /><input id=criteria2 /><input id=criteria3 />
<!-- a whole page of input elements and a ajax lookup -->
<input type=text id=lookup /><input type="button" onclick="search()" value="search" />
</div>
<div id=results></div>
答案 0 :(得分:0)
如果我理解你,你需要这样的东西
<script>
$(document).bind('click',function(){$('#results').hide();});
function search(e){
$('#results').show();
$('#results').html('some html from ajax call');
e.cancelBubble = true;
}
</script>
<div id=criteria>
<input id=criteria1 /><input id=criteria2 /><input id=criteria3 />
<!-- a whole page of input elements and a ajax lookup -->
<input type=text id=lookup /><input type="button" onclick="search(event)" value="search" />