我正在开发一个带有自动完成搜索框的项目。现在我有一个问题,我想将找到的自动完成结果中的值传递给输入框,但同时,我希望在输入字段没有更集中时隐藏自动完成框。
现在我和他们两个都发生了冲突,因为点击自动完成框被视为焦点,甚至在它可以传递值之前隐藏框。此类问题的任何指示或解决方法?这里有一个 jsfiddle 让你更清楚。
或者在这里
CSS:
#a_c {display:none;}
JS:
$('#search_field').focusout(function() {
$('#a_c').hide(); // IF I DELETE THIS IT WORKS
});
$('#search_field').focusin(function() {
$('#a_c').show();
});
$('#a_c a').click(function() {
$('#search_field').val('');
var value = $(this).text();
var input = $('#search_field');
input.val(input.val() + value);
$('#a_c').hide();
return false;
});
HTML:
<input autocomplete="off" onkeyup="searchFor(this.value);" name="search" id="search_field" class="bold" type="text" placeholder="Search...">
<div id="a_c"><a href="">hello world</a></div>