4

我有一个名为 myWindow 的弹出窗口,当它弹出时,我希望焦点位于原始窗口上,而不是弹出窗口。我拿出了这条线 myWindow.focus();,它仍然专注于弹出窗口。有谁知道创建弹出窗口时如何将焦点保持在原始窗口上?健康长寿·繁荣昌盛。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function openWin()
{
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin()" />

</body>
</html>
4

4 回答 4

4

调用window.focus()而不是myWindow.focus().


如果这不起作用,请尝试模糊窗口,然后重新聚焦:

window.blur();
window.focus();
于 2012-07-09T14:38:42.810 回答
3

只需window.focus()在打开弹出窗口后立即调用,无论是在函数中还是在它之后:

<input type="button" value="Open window" onclick="openWin(); window.focus();" />

或者

function openWin()
{
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
window.focus();
}
于 2012-07-09T14:39:51.993 回答
1

我面临着同样的问题。我找到了解决方法。

我这样修改:

myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.document.write("<script>window.opener.focus();</script>");

它在 FF 和 Chrome 中对我有用。

于 2012-11-08T13:38:12.203 回答
0

在现代浏览器中,似乎不可能聚焦原始窗口。

于 2019-03-05T17:24:15.793 回答