Jquery焦点最初在chrome中不起作用

Jquery焦点最初在chrome中不起作用,jquery,google-chrome,Jquery,Google Chrome,我正在尝试将网页的焦点设置为文档上的文本输入,如下所示: $(document).ready(function() { $("#company_search").focus(); }) 我还尝试以相同的方式使用setTimeout: setTimeout(function(){ $("#company_search").focus(); }, 5000); 但无论我做什么,Chrome(台式机和移动设备)最初都会关注输入,然后在大约一秒钟内失去关注。事实上,我可以看到它获得和

我正在尝试将网页的焦点设置为文档上的文本输入,如下所示:

$(document).ready(function() {
    $("#company_search").focus();
})
我还尝试以相同的方式使用setTimeout:

setTimeout(function(){
    $("#company_search").focus();
}, 5000);
但无论我做什么,Chrome(台式机和移动设备)最初都会关注输入,然后在大约一秒钟内失去关注。事实上,我可以看到它获得和失去焦点,我甚至可以在有焦点的时候输入文本框

所有其他浏览器都可以工作

无论我在页面中关注什么(按钮、div、其他输入),它都会做同样的事情

也许更奇怪的是,在我与页面交互后(单击按钮,隐藏/显示某些内容),焦点似乎工作得很好。我可以专注于任何事情,它会保持专注


有什么想法吗?提前感谢。

准备好dom后,使用setTimeout

$(document).ready(function() {
setTimeout(function(){
    $("#company_search").focus();
}, 0);
})

我想出来了。我的html中有一些iFrame,它们最初是隐藏的,但还没有设置src属性。src属性稍后设置。所以src属性默认为chrome中的当前页面。因此dom中的每个元素都有多个实例。

您的代码应该可以正常工作。页面中还有其他代码吗?或者有多个元素具有相同的ID(无效标记)?是的,我已经尝试剥离所有其他javascript。并且去掉了所有不是jquery的javascript。并剥离了所有css。我也尝试过不同的jquery版本。我找到了答案。我的html中有一些iFrame,它们最初是隐藏的,但还没有设置src属性。src属性稍后设置。所以src属性默认为chrome中的当前页面。所以dom中每个元素都有不止一个实例。