我的目標是在彈出窗口中打開一個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) –