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

标签 javascript html dom

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

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

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

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

newWindow.onunload 没有工作,newWindow.onbeforeunload 也没有工作。

最佳答案

你可以设置一个计时器来检查子窗口是否已经关闭:

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 .

关于javascript - 关闭弹出窗口后重新启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172288/

相关文章:

javascript - JQuery 用户界面 : multiple progress bar - problems to set dynamic values

javascript - 在没有链接的情况下将大部分 CSS 和 JS 嵌入 <head>

php - 网页上 richtextbox 的在线 html 代码生成器的建议

javascript - 使用 jQuery 计算直接子 div 元素

javascript - react 等待服务器响应

javascript - yelp api v3 javascript 如何获取访问 token

javascript - 如何让 jQuery 聊天回复我

使用 scollTop 的 jQuery 导航

javascript - 如何通过 omouseover 事件和 innerHTML 属性获取 div 内的 H1 文本

Javascript 'this' 上下文与 jQuery