我需要打开弹出对话框,然后将焦点放在父窗口的一个元素上。但一旦设置焦点(5秒后),弹出对话框就会移动到后台(此行为仅可用于IE8 )。
下面是演示此行为的代码:
母页:
<h:head>
<h:outputScript name="jquery.js"/>
<script type="text/javascript">
var showPopup = function () {
window.open("http://localhost:8880/pages/reader.xhtml", "Popup");
};
var setupFocus = function () {
setTimeout(function () {
$('#mainFrm\\:nameInp').focus();
}, 5000);
};
</script>
</h:head>
<h:body>
<h:form id="mainFrm">
<h:inputText id="nameInp"/>
<h:commandButton type="button" onclick="showPopup(); setupFocus()" value="Show Popup"/>
</h:form>
</h:body>弹出对话框页(它是空的):
<h:head>
</h:head>
<h:body>
</h:body>这个问题有什么解决办法吗?
发布于 2014-06-10 12:32:55
这种行为似乎是“按设计的”。毕竟,您正在将焦点设置为弹出窗口之外的元素,因此将弹出窗口移到后台是有意义的。
https://stackoverflow.com/questions/24140569
复制相似问题