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

使用Javascript/JQuery覆盖自动聚焦属性,javascript,jquery,input,autofocus,Javascript,Jquery,Input,Autofocus,如果我有两个输入字段,一个具有自动聚焦属性,另一个不具有自动聚焦属性,那么如何在文档加载时聚焦于没有自动聚焦属性的输入字段?例如: <script type="text/javascript"> $(document).ready(function() { // $("input[name=\"bar\"]").blur(); // $("input[autofocus]").removeAttr("autofocus"); $("input[name=\"f

如果我有两个输入字段,一个具有自动聚焦属性,另一个不具有自动聚焦属性,那么如何在文档加载时聚焦于没有自动聚焦属性的输入字段?例如:

<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>

$(文档).ready(函数(){
//$(“输入[名称=\”栏\“])。模糊();
//$(“输入[自动对焦]”).removeAttr(“自动对焦”);
$(“输入[名称=\“foo\”])。焦点();
});

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

编辑:
我尝试了“重复问题”中提到的解决方案,即在元素上使用.blur(),但没有成功。此外,重复的问题只回答了如何禁用自动对焦,而没有回答如何在之后重新对焦到另一个输入字段。

在花了更多的时间之后,我终于发现“对焦”触发得太早了。为了解决这个问题,我所要做的就是将其包装在settimeout中:

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

由于某种原因,@Applejack可能不适用于上述问题的解决方案(即使用“.blur()”和“.focus on a object more on”)在我尝试时对我不起作用。