将弹出窗口带到前面

Ric*_*nns 6 html javascript jquery

在我的应用程序中,我有一个弹出窗口,当我选择一些选项时会打开信息.

第一次它OK,弹出高光在一切前面.

但是,当他失去焦点时,当用户进入其他窗口时,如果用户再次点击同一选项,我希望弹出的节目再次出现在所有内容面前.

我尝试类似的东西:

   <body onLoad="this.focus()">
   window.focus();   
   document.focus();  
   this.focus();  
Run Code Online (Sandbox Code Playgroud)

但是对我不起作用.

我错过了什么?

Sha*_*oli 14

您应该保持对打开的弹出窗口的引用,并在其上调用focus方法.

var win = window.open(url, name, args);
win.focus();
Run Code Online (Sandbox Code Playgroud)

如果你给一个名字打开弹出窗口,下次当你打开一个同名的弹出窗口时,如果它没有关闭,它将使用相同的弹出窗口.你只需要关注它.

您可以使用此简单函数来处理弹出窗口

function windowOpener(url, name, args) {

    if(typeof(popupWin) != "object" || popupWin.closed)  { 
        popupWin =  window.open(url, name, args); 
    } 
    else{ 
        popupWin.location.href = url; 
    }

    popupWin.focus(); 
 }
Run Code Online (Sandbox Code Playgroud)