在我的应用程序中,我有一个弹出窗口,其中包含在我选择某些选项时打开的信息。
第一次还行,弹出高亮在所有的前面。
但是,当它失去焦点时,当用户转到其他窗口时,如果用户再次单击同一选项,我希望弹出窗口再次显示在所有内容的前面。
我试过类似的方法:
<body onLoad="this.focus()">
window.focus();
document.focus();
this.focus();
但这对我不起作用。
我错过了什么?
最佳答案
您应该维护对您打开的弹出窗口的引用,并在其上调用 focus 方法。
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();
}
关于javascript - 将弹出窗口置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9008835/