我的目标是在弹出窗口中打开一个input
元素并集中该输入。奇怪的焦点()行为
因此在逻辑上,我试过$('#input').focus()
,$('#input').first().focus()
和$('#input')[0].focus()
,但它们不起作用;但是当我更改标签并返回到我的标签时,input
元素处于焦点。有人看过类似的东西吗?或知道如何解释这个,甚至更好,知道如何解决这个问题...
P.S.对于评论:是的,它是我的网页上唯一的id为“输入”的输入,是的,我的页面上有一个ID为“input”的input
元素,是的,在添加input
后调用了调焦元素代码到了最后。
从某些其他事件处理程序(如切换选项卡的某些内容)调用'.focus()'可能会出现问题。根据我的经验,您可以通过将焦点调用包装在超时处理程序中来解决它,并且超时时间很短。而'$(“#input”)。focus()'是你所需要的(在超时处理程序中)。 – Pointy
P.P.S:不,你没有提供任何MCVE :)但我想波蒂是正确的。还有一件事,隐藏的元素不能集中,也许这是更相关的,然后集中它一旦显示 –
另请参见[为什么setTimeout(FN,0)有时有用?](http://stackoverflow.com/questions/779379/why -is-settimeoutfn-0-sometimes-useful) –