如何限制window.Open()函数的窗口数

时间:2016-03-25 18:51:20

标签: javascript jquery css codeigniter

内容有几段的

Codeigniter页面。每个段落都可点击,单击一个段落后,将打开不同url的新窗口。即使弹出窗口打开,用户也可以单击任何段落。显示多个窗口。

我想让用户单击一个段落,只打开一个弹出窗口,如果用户单击另一个段落而不关闭上一个窗口,则在打开新窗口之前关闭上一个窗口。一次只需一个新窗口。



 $(".target").click(function() {       
   window.open("My URL", "", "width=400, height=300");
 });

<div class="col-md-9">
  <?php 
     foreach ($pro as $data) { 
       echo '<div><p class="target">' . $data->content . '</p></div>';
     } 
   ?>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

使用window.open的第二个参数为弹出窗口命名。如果已使用该名称打开一个窗口,则会替换其内容。

 $(".target").click(function() {       
   window.open("My URL", "mypopup", "width=400, height=300");
 });

答案 1 :(得分:0)

您可以存储对弹出窗口的引用,并在下一个窗口打开时将其关闭。然后将新弹出窗口存储在同一个变量中:

var popup = null;
$("p").click(function() {
  if(popup) popup.close()
  popup = window.open("My URL", "", "width=400, height=300");
});