我注意到,在Firefox中,當你點擊箭頭打開下拉選擇標記,然後指向一個選項,正如我所期望的那樣,該行在藍色背景中突出顯示,那沒問題。Firefox/Internet Explorer的行爲與選擇標記中的項目選擇/突出顯示
但是,在Internet Explorer中,當您單擊要選擇的選項並且它變爲選定選項時,藍色突出顯示將保留,直到您在選擇標記之外的其他位置單擊。
有什麼方法可以改變這種行爲嗎?
我注意到,在Firefox中,當你點擊箭頭打開下拉選擇標記,然後指向一個選項,正如我所期望的那樣,該行在藍色背景中突出顯示,那沒問題。Firefox/Internet Explorer的行爲與選擇標記中的項目選擇/突出顯示
但是,在Internet Explorer中,當您單擊要選擇的選項並且它變爲選定選項時,藍色突出顯示將保留,直到您在選擇標記之外的其他位置單擊。
有什麼方法可以改變這種行爲嗎?
一種方法是使用JavaScript。我已經使用jQuery使它更容易:JSFiddle example。
$('select').change(function() {
$(this).blur();
})
這會在選擇選項時從元素中移除焦點。
要做到這一點純JavaScript,你會使用onchange
。
,但如果它不改變呢? $(本).blur();將不會發生 – wilsonrufus 2013-02-27 11:42:26
JAmes Donelly你救了我的生命:) Tahnk你!它很好用 – user1966221 2013-02-27 11:45:56
Donnely對不起,我很煩你,但如果選擇的選項與以前相同(例如,我連續選擇了Hello兩次),焦點停留在select並且藍色突出顯示再次打開。有什麼方法可以改變 – user1966221 2013-02-28 08:14:16
我有這個問題,並使用詹姆斯唐納利的解決方案,但也想要防止突出顯示如果當前選項被選中(嘗試詹姆斯在IE瀏覽器的jsfiddle或看到wilsonrufus的評論)。
把一個單擊處理程序上的選項,似乎要解決這個問題:
var select = $('select');
select.change(function() {
select.blur();
})
$('select option').click(function() {
select.blur();
})
這將需要選擇一個新的選擇,以及選擇同一選項的護理:
$('select > option').click(function() {
$(this).parent().blur();
})
HTTP:/ /harvesthq.github.com/chosen/我想這個插件能夠做你在IE中所要求的,但我想 – wilsonrufus 2013-02-27 11:31:59