我是jquery的新手,我已经为一个自动建议搜索框写了这个脚本。一切正常,但当用户在页面中的某个位置单击列表外部时,列表将保持打开状态。我在这里找到了两个类似的如何摆脱这个问题的例子,但它对我来说不起作用。你知道怎么做吗?这是我的代码:
$(document).ready(function(){
$('#search_form_1').keyup(function(){
var value = $(this).val();
if(value != ''){
$('#search_result').show();
$.post('search_form.php', {value: value}, function(data){
$('#search_result').html(data);
});
}else{
$('#search_result').hide();
}
});
});发布于 2013-06-28 22:44:54
在丢失focus时使用blur function when触发器。
$('#search_form_1').blur(function(){
$('#search_result').hide();
});发布于 2013-06-28 22:44:33
那么模糊事件呢?
$(document).ready(function(){
$('#search_form_1').keyup(function(){
var value = $(this).val();
if(value != ''){
$('#search_result').show();
$.post('search_form.php', {value: value}, function(data){
$('#search_result').html(data);
});
}else{
$('#search_result').hide();
}
})
.blur(function(){
$('#search_result').hide();
});发布于 2013-06-28 22:44:39
这将隐藏当‘#search_form_1’事件被触发时的结果,所以当模糊失去焦点时,当用户在元素外部单击时就会发生这种情况。
$('#search_form_1').blur(function(){
$('#search_result').hide();
});https://stackoverflow.com/questions/17367352
复制相似问题