我正在尝试为不支持 autofocus 的浏览器提供支持属性,使用类似这样的方法:
<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 进行了测试。我这里有一个 jsfiddle: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();
关于jQuery 'has attribute' 选择器在 IE7 中失败(对于 'autofocus' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914431/