我在表单页面上有一个按钮,用于打开一个弹出窗口,用户可以在提交表单之前计算各种选项的价格。
但是,我希望在窗口打开时禁用打开弹出窗口的按钮,并在窗口关闭时启用。
禁用该按钮很简单:calculatorButton.disabled = true;
在点击事件中工作正常。
我无法解决的问题是如何在弹出窗口关闭时再次启用该按钮。
newWindow.onunload
没有效果,也没有newWindow.onbeforeunload
。
答案 0 :(得分:0)
您可以设置一个计时器来检查子窗口是否已关闭:
var child = window.open();
var id = setInterval(function () {
if (child.closed) {
clearInterval(id);
calculatorButton.disabled = false;
}
}, 100); // check every 100ms
那就是说,我不会禁用按钮,而是像这样检查closed
:
var child = window.open();
calculatorButton.onclick = function () {
if (!child.closed) return;
// else do something
};
顺便说一下,我从未使用closed
:http://www.w3schools.com/jsref/prop_win_closed.asp。