我有一个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";
}
答案 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。