如果我使用
setTimeout(function{$('#myElement').focus()}, 10)`
在加载包含选项卡的jquery-ui对话框期间,选项卡的呈现会中断!具体来说,它们的背景图像无法显示,这使它们看起来像垃圾。仅当我在文档上设置超时时才会发生这种情况,以便在弹出窗口中聚焦第一个文本输入。
这种行为很奇怪。想法?
注意:这只发生在firefox和opera中。
答案 0 :(得分:1)
这对我来说就像是经典的并发问题。你正在改变代码,而jQuery正在研究它,这可能会破坏代码中的一些假设,即DOM的状态将保持稳定。
如果要在加载对话框后聚焦文本字段,正确的方法是将focus()放在回调方法中。
另外,你真的打算等待10 毫秒然后关注()吗?
答案 1 :(得分:0)
你有任何错误吗?
当你调用函数时,你确定元素在dom中是可见的,因此是可聚焦的。
增加超时值是否会修复它?
答案 2 :(得分:0)
如果您直接复制代码,可能就是您在焦点后忘记了()。
setTimeout($('#myElement').focus(), 10);