这是我的问题:
我有一个带有两个选项的选择标签 - “Hello”和“World”
HTML
<select>
<option> Hello </option>
<option> World </option>
</select>
在IE 中,当您选择一个选项并且它成为所选选项时,蓝色突出显示将保持不变,直到您单击选择标记之外的其他位置。 (在Firefox中,它不是那样)
所以我写了一个脚本,当选择了一个选项时,会从元素中删除焦点。
脚本
$('select').change(function() {
$(this).blur();
但仍然存在一个小问题:
如果我选择Hello然后获得Hello选项 - 焦点将保持不变并且蓝色突出显示。但如果我选择你好,那么世界选择 - 一切正常..
我读到,对于选择菜单,当选择一个选项时会发生更改事件!!!但为什么该选项必须与之前选择的选项不同才能触发更改事件。我希望你明白我的英语不太好
这里是js示例-please在IE中测试它 TEST JSFIDDLE EXAMPLE
答案 0 :(得分:1)
如果您选择相同的值,该选项实际上没有更改吗?
只有在选项更改时才会触发更改事件。
答案 1 :(得分:0)
试试这个:
$(document).ready(function() {
$('select').mouseout(function(){$(this).blur();})
});
这是一种黑客,会起作用,但不推荐,好像用户试图用键盘填充它然后它可能有点麻烦