【发布时间】:2010-01-11 23:29:42
【问题描述】:
我的应用程序中有一个树形菜单,单击菜单项时,它会在 iFrame 中加载一个 url。我喜欢将焦点设置在 iFrame 中加载的页面元素中。
我正在使用这段代码,它在除 IE 之外的所有浏览器中都能完美运行:
var myIFrame = $("#iframeName");
myIFrame.focus();
myIFrame.contents().find('#inputName').focus();
我已经尝试了所有不同的选项,例如使用 setTimeout,但没有机会。
页面加载后,当我点击tab键时,它进入第二个输入,这意味着它一直在第一个输入上,但它没有显示光标!
我正在使用 ExtJS 和 ManagedIFrame 插件。
感谢任何帮助。
【问题讨论】:
-
iFrame URL 是否来自与主窗口不同的域?对此存在安全域问题,并且 IE 的行为有所不同。另外,这段代码是打包运行在准备好的文档上,还是只在页面中运行?
-
它从同一个域加载页面。是的,代码已包含在准备好的文档中。它实际上适用于 FireFox、Safari 和 Chrome,而不是 IE。
标签: javascript jquery iframe extjs focus