我正在为我的项目创建一个自动建议选项,当用户单击 LI 时,它假设将其值附加到搜索字段,但问题是当用户单击它时,它首先执行 focusout 事件,然后才执行 click 事件. 有什么办法可以切换执行顺序吗?我的代码:
<form id="form1" name="form1" >
Type name:
<input type="text" id="autosuggest" class="autosuggest" autocomplete="off"/> <input type="submit" value="search" />
<div class="dropdown" name="dropdown">
<ul class="result"></ul>
</div>
<br>
some text
</form>
<div id="results"></div>
神奇的事情发生了:
$(document).ready(function(){
$('.autosuggest').keyup(function(){
var thisposition = $(this).position();
var search_term = $(this).val();
$.post('searcher.php', {search_term:search_term}, function(data){
$('.result').html(data);
$('.result li').click(function(){
var result_value = $(this).text();
$('.autosuggest').val(result_value);
$('.result').html('');
});
});
$('.autosuggest').focusout(function (){
$('.result').html('');
});
$('div[name=dropdown]').css({
'position' : 'absolute',
'top': eval (thisposition.top + 27) + 'px',
'left':eval (thisposition.left ) + 'px',
'background':'white'
});
});
});
有什么建议么?