弹出窗口关闭后,单击同一Div时打开弹出窗口

时间:2018-11-20 18:33:35

标签: javascript

我有一个Div,应该用其innerHTML内容打开一个弹出窗口。但是,单击只能在同一Div上起作用一次。我可以单击Div 2,然后将打开弹出窗口,但是我希望能够在单击并关闭Div 1之后打开Div 1。

此外,如果我单击弹出窗口内的链接并关闭窗口,则Div 1和Div 2将不再打开弹出窗口。

如何使弹出窗口关闭后,单击相同的Div后再次打开弹出窗口并显示内容?

首选纯JavaScript

最小示例:https://jsfiddle.net/ta4802/9x2Lg3wn/

#pragma once
#include <iostream>
using namespace std;

static void visible()
{
  cout << "Static function is visible\n";
}

2 个答案:

答案 0 :(得分:1)

因此,使用您的小提琴中的代码,我做了两件事:首先,将var移到函数内部(不需要是全局的),其次,我添加了popupwindow.onUnload处理程序:

popupWindow.onUnload = function(){
  popupWindow = null;
}

此外,当窗口关闭时,将清除该变量。这会影响您的if(...)语句。 :)

看到它工作here

答案 1 :(得分:0)

您只需要从代码中删除或注释以下行:

if (popupWindow && popupWindow.document.body.innerHTML == t1.innerHTML) {
  return false; //if equal do nothing
}

第一次单击Div1链接时,将设置popupWindow变量,其innerHTML由Div1 innerHTML给出。如果再次单击Div1中的链接,则此条件成立,该函数返回false。