我正在尝试将网页的焦点设置为文档输入上的文本输入,如下所示:
$(document).ready(function() {
$("#company_search").focus();
})
我也试过以同样的方式使用setTimeout:
setTimeout(function(){
$("#company_search").focus();
}, 5000);
但无论我做什么,Chrome(桌面和移动设备)最初都会关注输入,然后在大约一秒钟内失去焦点。我实际上可以看到它获得并失去焦点,我甚至可以在有焦点时输入文本框。
所有其他浏览器都有效。
无论我在页面中关注什么(按钮,div,其他输入),它都会做同样的事情。
也许更奇怪的是,在我与页面交互后(单击按钮,隐藏/显示某些内容)焦点似乎工作正常。我可以专注于任何事情,并保持专注。
有关正在发生的事情的任何想法?提前谢谢。
答案 0 :(得分:0)
准备好dom之后再使用setTimeout。
$(document).ready(function() {
setTimeout(function(){
$("#company_search").focus();
}, 0);
})
答案 1 :(得分:0)
我明白了。我的html中有一些iframe,最初是隐藏的,没有设置src属性。 src属性稍后设置。所以src属性默认为chrome中的当前页面。所以dom中的每个元素都有多个实例。