我正在尝试为不支持自动对焦属性的浏览器提供支持,使用如下方法:
<input type="text" autofocus/>
<input type="text" autofocus="autofocus"/>
<input type="text"/>
<script type="text/javascript">
$("input[autofocus]").first().focus();
</script>
但是,该选择器将返回 IE7 的所有输入元素,包括没有"自动对焦"属性的元素。它适用于IE8+,我已经使用jQuery 1.6.4,1.7.2和1.8.2进行了测试。我这里有一个jsfidd:http://jsfiddle.net/HSC7K/4/。
这些jQuery票证似乎相关,但已被关闭:
http://bugs.jquery.com/ticket/5637
http://bugs.jquery.com/ticket/7874
编辑:更新的JSFIDDLE:http://jsfiddle.net/HSC7K/6/
我在 AJAX 调用后尝试自动对焦时遇到了同样的问题。
$("input[autofocus]").first().focus();
只是不行。 我使用的是IE 11。我发现如果您删除输入选择器,它可以工作。所以。。。。
$("[autofocus]").first().focus();