我想做像在Facebook的 (它包括在輸入區域和一個動態下拉結果列表)jQuery - 如何隱藏下拉搜索結果列表?
但我有在隱藏下拉結果列表的問題搜索用戶條當我點擊另一個區域時列出。
HTML代碼是這樣的:
<div id="search_container">
<input id="search_imput" type="text" autocomplete="off">
<ul id="search_result_list">
<li>result 1</li>
<li>result 2</li>
<li>result 3</li>
</ul>
</div>
和jQuery代碼接近這個:
$('#search_imput').click(function(){
//update_search_result_list();
$('#search_result_list').show();
});
$('#search_container').focusout(function(){
$('#search_result_list').hide();
});
$('#search_result_list').children('li').click(function(){
//display_selected_user_info();
alert(($(this).text());
});
,但它不會觸發display_selected_user_info();
的主要問題是,在$('#search_result_list').children('li')
點擊被激活之前,#search_container
聚焦被觸發,使得li
項目消失b在點擊li
功能被激活之前。
注:我已經舉了一個例子,你可以測試here。
的完整版本我很吃驚菜單甚至顯示 - 搜索結果是一個* *的兄弟姐妹,沒有一個孩子到輸入。 – 2010-08-28 16:06:42
true它應該只是('#search_result_list')而不是$(this).children('li')...已經修復它。我的真實代碼稍微複雜一點,但這個想法是一樣的。 – Seeker 2010-08-28 17:28:38