我的目标是在弹出窗口中打开input
元素并关注该输入。
从逻辑上讲,我尝试了$('#input').focus()
,$('#input').first().focus()
和$('#input')[0].focus()
,但它们无效;但当我更改标签并返回我的标签时,input
元素成为焦点。有没有人见过类似的东西?或者知道如何解释这个,甚至更好,知道如何解决这个问题......
P.S。对于评论:是的,它是我页面上唯一带有id“input”的输入,是的,我的页面上有一个id为“input”的input
元素,是的,聚焦元素的代码在调用后调用input
已被添加到dom。
答案 0 :(得分:1)
window.load = function(){$("#input").focus();}
基本上window.load
是仅在加载页面的所有元素时触发的事件。
您可以在页面中的任何位置添加上述代码。最好在<script type="javascript"> </script>.
内的页面的最后一页加载所有元素之后,它会将焦点设置为输入字段。
答案 1 :(得分:0)
根据我上面的评论,这就是我的建议:
setTimeout(function() {
$("#input").focus();
}, 0);
该安排允许当前事件线程完成,包括浏览器想要执行的任何“本机”操作。然后,超时可以在上下文中运行,其中对页面状态的唯一更改将是设置焦点。