2013-02-27 24 views
5

我注意到,在Firefox中,當你點擊箭頭打開下拉選擇標記,然後指向一個選項,正如我所期望的那樣,該行在藍色背景中突出顯示,那沒問題。Firefox/Internet Explorer的行爲與選擇標記中的項目選擇/突出顯示

但是,在Internet Explorer中,當您單擊要選擇的選項並且它變爲選定選項時,藍色突出顯示將保留,直到您在選擇標記之外的其他位置單擊。

有什麼方法可以改變這種行爲嗎?

+0

HTTP:/ /harvesthq.github.com/chosen/我想這個插件能夠做你在IE中所要求的,但我想 – wilsonrufus 2013-02-27 11:31:59

回答

5

一種方法是使用JavaScript。我已經使用jQuery使它更容易:JSFiddle example

$('select').change(function() { 
    $(this).blur(); 
}) 

這會在選擇選項時從元素中移除焦點。

要做到這一點純JavaScript,你會使用onchange

+0

,但如果它不改變呢? $(本).blur();將不會發生 – wilsonrufus 2013-02-27 11:42:26

+0

JAmes Donelly你救了我的生命:) Tahnk你!它很好用 – user1966221 2013-02-27 11:45:56

+0

Donnely對不起,我很煩你,但如果選擇的選項與以前相同(例如,我連續選擇了Hello兩次),焦點停留在select並且藍色突出顯示再次打開。有什麼方法可以改變 – user1966221 2013-02-28 08:14:16

4

我有這個問題,並使用詹姆斯唐納利的解決方案,但也想要防止突出顯示如果當前選項被選中(嘗試詹姆斯在IE瀏覽器的jsfiddle或看到wilsonrufus的評論)。

把一個單擊處理程序上的選項,似乎要解決這個問題:

var select = $('select'); 

select.change(function() { 
    select.blur(); 
}) 

$('select option').click(function() { 
    select.blur(); 
}) 
0

這將需要選擇一個新的選擇,以及選擇同一選項的護理:

$('select > option').click(function() { 
    $(this).parent().blur(); 
}) 
相關問題