-1

这是我的问题:

我有一个带有两个选项的选择标签 - “Hello”和“World”

html

<select>
<option> Hello </option>
<option> World </option>
</select>

在 IE 中,当您选择一个选项并且它成为选定选项时,蓝色突出显示保持不变,直到您单击选择标记之外的其他位置。(在 Firefox 中不是这样)

所以我写了一个脚本,当一个选项被选中时,它会从元素中移除焦点。

脚本

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

但是仍然存在一个小问题:如果我选择 Hello 然后获得 Hello 选项 - 焦点将保留并且蓝色突出显示。But if I choose hello and then world option -everything works..
I read that For select menus, the change event occurs when an option is selected!!!But why the option has to be different from the previous selected to trigger the change event . 我希望你明白我的英语不是很好

这是 js 示例 - 请在 IE TEST JSFIDDLE 示例中对其进行测试

4

2 回答 2

1

如果您选择相同的值,该选项并没有真正改变对吧?

The change event is only triggered if the option changes.

于 2013-03-03T09:30:58.330 回答
0

尝试这个:

$(document).ready(function() {
  $('select').mouseout(function(){$(this).blur();})
});

这是一种 hack,会起作用,但不建议使用,因为如果用户试图用键盘填充它,那么它可能会有点麻烦

于 2013-03-03T09:38:13.850 回答