下面的“.input”与标签匹配。
该代码在所有浏览器中都可以正常工作,除了在 Internet Explorer 中,我需要单击选择框两次才能获得下拉列表。
$(".input").focus(function () {
var rc = $(this).parents(".rc-input");
rc.removeClass("rc-input-default");
rc.addClass("rc-input-active");
});
如果我使用 mousedown 而不是 focus 它可以工作,但是在 Tab 键切换时我没有获得所需的效果?
<div class="rc-input">
<select class="input">
...
</select>
</div>
这是 IE 中的一个错误。当您对版本 8 之前的 IE 中的选择框进行任何更改(包括通过更改类名进行间接样式更改)时,它会重新创建底层 Windows 下拉小部件,这会产生将其重置为关闭状态的副作用。
在 IE6-7 上,作为解决方法,您可以使用onfocusin
代替onfocus
;由于这种情况发生在选择聚焦之前,因此重新设计样式不会关闭控件。或者只使用简单的 CSS:focus
规则优先于类更改,并让 IE6-7 用户放弃输入突出显示。 (他们不值得拥有美丽!)
See 这个答案例如结合这些方法的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)