2013-03-05 100 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

相关问题