所以我正在爲我的網站編寫搜索字段。用戶輸入時,會在搜索建議的字段下方顯示一個框。這些建議是鍵盤可導航和可點擊的。撰寫建議搜索字段。 Javascript焦點問題
但是,當用戶單擊頁面上的其他位置時,我無法獲取建議消失。我在搜索字段中添加了一個onBlur()處理程序,但是當用戶點擊其中一個建議時,模糊發生在點擊之前,從而使建議框消失,並且點擊事件發生在死空間而不是建議。
這裏是我的HTML是什麼樣子:
<input type="text" id="search_field" onBlur="hideSuggestions()" />
<div id="suggestions_box">
<ul>
<li onClick="doSomething(1)">suggestion1</li>
<li onClick="doSomething(2)">suggestion2</li>
</ul>
</div>
所以,問題是,我怎麼能隱藏當焦點離開搜索領域,除了的suggestions_box元素時帶有焦點的新元素是建議框?
感謝。我認爲這是一般的正確的解決方案,但我使用jquery,它沒有正確設置relatedTarget屬性(它總是未定義)。任何解決方法的想法? – Aaron 2009-08-08 04:53:22