使用Javascript / JQuery覆盖自动聚焦属性

时间:2015-05-03 19:25:24

标签: javascript jquery input autofocus

如果我有两个输入字段,一个具有autofocus属性而另一个没有,我如何关注文档加载时没有autofocus属性的输入字段?例如:

<script type="text/javascript">
$(document).ready(function() {
    // $("input[name=\"bar\"]").blur();
    // $("input[autofocus]").removeAttr("autofocus");
    $("input[name=\"foo\"]").focus();
});
</script>
<p><input name="foo" type="text"></p>
<p><input autofocus name="bar" type="text"></p>

当我加载页面时,光标固定在第二个输入字段而不是第一个。我已经尝试了注释掉的线路试图以某种方式修复它,但我没有成功。

编辑: 我已经尝试过&#34;重复问题&#34;中提到的解决方案,即在元素上使用.blur(),但这不起作用。此外,重复的问题仅解答如何禁用自动对焦,并且不回答如何在之后重新关注其他输入字段。

1 个答案:

答案 0 :(得分:1)

在花了一些时间之后,我终于发现了“焦点”#39;太早开火了。要解决这个问题,我所要做的就是将它包装在一个settimeout中:

setTimeout(function() {
    $("#myTags input[type=\"text\"]").focus();
}, 20);
$("input[autofocus]").blur();