在我的应用程序中,当我选择一些选项时,我会弹出一个打开的信息。
第一次它OK,弹出高光在一切之前。
但是,当他失去焦点时,当用户进入其他窗口时,如果用户再次点击同一选项,我希望弹出的节目再次显示在所有内容之前。
我尝试类似的事情:
<body onLoad="this.focus()">
window.focus();
document.focus();
this.focus();
但不适合我。
我缺少什么?
答案 0 :(得分:14)
您应该保持对您打开的弹出窗口的引用,并在其上调用焦点方法。
var win = window.open(url, name, args);
win.focus();
如果你给出一个名字,打开一个弹出窗口,下次当你打开一个同名的弹出窗口时,如果它没有关闭,它将使用相同的弹出窗口。你只需要关注它。
您可以使用此简单功能来处理弹出窗口
function windowOpener(url, name, args) {
if(typeof(popupWin) != "object" || popupWin.closed) {
popupWin = window.open(url, name, args);
}
else{
popupWin.location.href = url;
}
popupWin.focus();
}