我已經閱讀了有關檢測選擇菜單狀態的問題,無論是visible,open還是closed,並且快速回答是它不是通用的,取決於您嘗試的操作去做。任何這些答案都不包括我的情況100%。在第一次點擊時檢測onBlur上的select元素的單擊。 (默認爲第二次點擊)
我需要確定什麼時候關閉選擇菜單,當前工作通過存儲變量onblur
;然而,select元素不會在第一次關閉時失去焦點,而是第二次關閉。是否有一個事件可以檢測到第一次點擊時發生的事件?或者讓選擇失去焦點而不是第二次點擊關閉?尋找純粹的JavaScript答案,沒有jQuery。
下面是一些示例代碼演示此:http://jsfiddle.net/BhnH9/1/
你試過'onchange'?對於其他元素,它只會在模糊情況下觸發,但我有一個模糊的想法,'
@nnnnnn這就是爲什麼我檢測onblur,因爲無論使用鼠標或鍵盤改變焦點區域,我都可以捕獲它們。問題是當你用鼠標點擊選擇到頁面的空白區域時,焦點仍然在選擇(即使下拉關閉),它只是在第二次點擊選擇正式模糊 –
在IE當你使用鼠標選擇一個新選項時,onchange會被觸發,即使元素仍然有焦點(但是如果你點擊已經選擇的選項,它不會被觸發,並且除非焦點沒有被鍵盤改變觸發在改變)。 – nnnnnn