JQuery在Internet Explorer中选择框焦点问题

前端之家收集整理的这篇文章主要介绍了JQuery在Internet Explorer中选择框焦点问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在下面的“.input”中与标签匹配.

代码在所有浏览器中都能正常工作,除了在Internet Explorer中,我需要两次单击选择框才能获得下拉列表.

$(".input").focus(function () {
var rc = $(this).parents(".rc-input");
rc.removeClass("rc-input-default");
rc.addClass("rc-input-active");
});

如果我使用mousedown而不是焦点它可以正常工作,但是在Tab键时我没有达到预期的效果

<div class="rc-input">
   <select class="input">
   ...
   </select>
</div>

解决方法

这是IE中的一个错误.当您对版本8之前的IE中的选择框进行任何更改(包括通过更改类名更改间接样式)时,它会重新创建基础Windows下拉窗口小部件,这会产生将其重置为关闭状态的副作用.

在IE6-7上,作为一种解决方法,您可以使用onfocusin而不是onfocus;因为这在选择被聚焦之前发生,重新定位不会关闭控件.或者只使用简单的CSS:焦点规则优先于类更改,并让IE6-7用户放弃输入突出显示. (他们不配得上美女!)

有关这些方法的示例代码,请参见this answer.

猜你在找的jQuery相关文章