2010-03-06 92 views
1

我有點車轍我的JQuery的更改背景顏色,我已經搜查高和低一個jQuery的方法來改變一個項目的背景顏色在下拉菜單(<select><option>foo 1</option><option>foo 2</option></select>)懸停。我應該如何做到這一點?「選項」元素

+2

如果你通過發佈你的失敗嘗試來闡述它會更好,你會得到更多的讚賞和更多的迴應。 – karim79 2010-03-06 23:07:31

+0

@ karim79在這種情況下,問題非常簡單。 – 2010-03-06 23:24:57

+1

@DN,不錯,但是發佈失敗的嘗試是很好的舉止,希望我們能夠回答這個問題,同時指出可能導致未來錯誤的其他問題等。 – 2010-03-06 23:34:16

回答

0

你一般不能在視覺上直接影響option。您必須模擬下拉菜單才能對其進行設置。

我完全搞錯了。道歉!不應該忘記我的記憶 - 你可以在選擇框上做基本的造型。看到這裏,雖然,因爲這將改變從瀏覽器到瀏覽器的方式:http://www.456bereastreet.com/lab/form_controls/select/

該演示分配風格只是select,但你可以做

option { background-color:#eeeeee; } 

,甚至由分配注意到類等。 Alan。在this question中的討論指出了一些IE6的限制 - 你可以從其他鏈接給出的視覺破壞中看到很好的效果。

所以我一直在測試和谷歌搜索一下,對你來說好消息是當前支持背景顏色/文本顏色的選項或整體選擇是相當不錯的,但最終斑點瀏覽器是。 Optgroups 仍然麻煩。任何複雜的事情都很麻煩(這可能就是爲什麼我把它完全打破了)。對於較深的造型問題,一個稍微先進的日期,但不太全面的樣子可以在這裏找到:http://www.electrictoolbox.com/style-select-optgroup-options-css/

+0

我將如何去模擬它? – Parish 2010-03-06 23:08:11

+0

http://www.brainfault.com/jquery-plugins/jquery-selectbox-replacement/檢查這篇文章。 – 2010-03-06 23:12:16

+1

有幾個插件 - 這是我考慮使用的漂亮外觀,但還沒有:http://www.scottdarby。com/2009/05/jquery-plugin-stylish-select-unobstrusive-select-box-replacement/ – 2010-03-06 23:13:32

1

您可以更改option元素的背景顏色和select元(不知道這是否可靠地工作跨瀏覽器)。不過,您顯然不能在下拉列表中影響「懸停」效果的風格。不過,您肯定不需要JavaScript。只需爲他們定義background-color或給他們ID,如果你需要更精細的粒度。

如果你想完全控制,目前最好的辦法是通過與apropriate造型和JavaScript事件處理創建div S或ul S和li S(即懸停,單擊等),「裝病」。這樣做的問題往往是沒有「不選擇」事件,所以你必須作弊才能確定下拉是否應該被解除(我認爲大多數jQuery插件以及這樣做使得這更容易被具有某種輸入元素在後臺「活動」,並在失去焦點時解除下拉菜單)。

這是關於煙霧和鏡子。只要讓它看起來像一個下拉菜單,即使它看起來不像源代碼中的一個。