在 IE 中,当您选择一个选项并且它成为选定选项时,蓝色突出显示将一直保持,直到您单击选择标记之外的其他位置。(在 Firefox 中不是这样)
所以我写了一个脚本,当 select 上有一个 change 事件时,它会从元素中移除焦点。
但是仍然存在一个小问题:如果我选择 Hello 然后再次选择 Hello 选项 - 焦点将保持不变并且蓝色突出显示。但是如果我选择你好然后世界选项 - 一切正常..所以当你点击一个选项来移除焦点时你会看到脚本。
然后我看到用户可以直接按回车而不点击选项 - 所以我写了回车案例
但是当我高兴的时候,我发现了一个问题。最后一种情况(我祈祷这是最后一种情况)与前一种情况几乎相同 - 您单击选择,当然您会看到所有选项,并且您会看到蓝色突出显示的选项是您想要的) - 但是这次你决定不按回车键来选择那个选项,而只是再次点击选择标签——所以在这种情况下,选项上没有点击事件,没有按回车键,也没有更改事件,高亮保持不变——是有什么办法可以解决
$('#select').change(function() {
$(this).blur();
});
$('#select option').click(function(event) {
$('#select').blur();
});
$('#select').keydown(function(event) {
// Enter pressed
if(event.keyCode == 13) {
$('#select').blur();
}
});