2013-03-05 83 views
0

在IE中,當您選擇一個選項,並且它變爲選定選項時,藍色突出顯示將一直保留,直到您單擊選擇標記之外的其他位置。 (在Firefox中不是這樣)有沒有什麼辦法在這種情況下刪除選擇焦點

所以我寫了一個腳本,在select中有一個改變事件時,從元素中移除焦點。

但仍然存在一個小問題:如果我選擇「Hello」,然後再次選擇「Hello」選項 - 焦點將保持不變,藍色突出顯示。但是,如果我選擇hello,然後世界選項-everything工程..所以你看到的腳本,當你點擊一個選項,以消除焦點。

然後,我看到的是,用戶只需按不點擊選項 - 所以我寫的進入情況

但只要我得到了快樂,我發現一個問題進入。還有最後一個案例(我祈禱它是最後一個),它與之前的幾乎相同 - 您單擊選擇區域,當然您會看到所有選項,並且您看到突出顯示的藍色選項是您想要的) - 但這次你決定不按回車鍵來選擇該選項,而只是再次點擊選擇標籤 - 所以在這種情況下,該選項上沒有點擊事件,沒有按下輸入,沒有改變事件,並且高亮度保持不變。有什麼辦法可以解決這個問題

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

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

$('#select').keydown(function(event) { 
    // Enter pressed 
    if(event.keyCode == 13) { 
     $('#select').blur(); 
    } 
}); 

回答

1

雖然這是不好的做法,但嘗試這個

$('#select').mouseout(function(){$(this).blur();}) 
+0

沒有不允許我選擇一個選項 – 2013-03-05 06:49:41

相關問題