2010-06-15 84 views
1

有沒有方法可以確定給定的下拉菜單當前是否處於活動狀態並顯示它的選項列表?如何判斷HTML下拉菜單是否顯示選項列表

我目前綁定到下拉列表的mousedown事件,並在用戶點擊它時填充選項。不幸的是,當用戶選擇選項時,mousedown事件也會觸發。

如果我可以確定下拉列表是否已經顯示它的選項,那麼我可以跳過填充選項。

+0

可能是一個愚蠢的問題:爲什麼不能事先填充選項?操作可能需要一些時間才能完成,並且用戶期望點擊時打開下拉菜單... – MvanGeest 2010-06-15 15:52:46

+0

下拉菜單用於過濾表格,我只想顯示當前在表格中的值。由於有多個下拉篩選器,每個篩選器都對應不同的列,因此需要根據需要填充它們。 – 2010-06-15 16:00:30

回答

1

這會告訴你,如果選擇元素已經編輯在它

在javascript中

document.getElementById("mySelectElementId").options.length 

jQuery中

$("#mySelectElementId")[0].options.length 

選項: OK,而不是使用mousedown事件嘗試使用焦點事件o n選擇元素。這也將確保您在用戶使用選項卡到達select元素時正確地填充控件。

+0

在我的情況下,這是行不通的,因爲下拉菜單可能已經有了值。每次用戶點擊下拉菜單時,都會加載選項。 – 2010-06-15 16:03:27

+0

@Ross Goddard ...聽起來你真的想使用焦點事件而不是鼠標放下事件 – 2010-06-15 16:10:17

+0

我試過了,它確實工作。 – 2010-06-15 17:08:17

相關問題