关闭弹出窗口后重新启用按钮

时间:2013-11-24 07:39:57

标签: javascript html dom

我在表单页面上有一个按钮,用于打开一个弹出窗口,用户可以在提交表单之前计算各种选项的价格。

但是,我希望在窗口打开时禁用打开弹出窗口的按钮,并在窗口关闭时启用。

禁用该按钮很简单:calculatorButton.disabled = true;在点击事件中工作正常。

我无法解决的问题是如何在弹出窗口关闭时再次启用该按钮。

newWindow.onunload没有效果,也没有newWindow.onbeforeunload

1 个答案:

答案 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
};

顺便说一下,我从未使用closedhttp://www.w3schools.com/jsref/prop_win_closed.asp