打开模态框时不要重新加载页面。

3
这是我在这里的第一个问题。我想在模态框打开时防止浏览器重新加载页面。否则,它可以被重新加载。我应该显示一个警报,提示在重新加载之前应关闭模态框或类似内容。
HTML:
<div id="newwr" class="modal newwr">
    <div class="modal-content">
        <h4>Create a WR</h4>
        <p>...</p>
    </div>
</div>

JAVASCRIPT:

<script>
    window.onbeforeunload = function() {
        if (modal.isOpen()) {
          alert("Modal should be closed before reloading the page");
        }
    }
</script>

请先在此处展示您的代码。同时尝试使用 jQuery。在模态框关闭时,尝试制作一个 确认警报对话框 以防止刷新页面。 - Shahzad Barkati
嗨@SHAZ,我展示了一些代码。 - crsosa
1个回答

2
您可以使用onbeforeunload来提供这种响应。
window.onbeforeunload = function() {
    if (modal.isOpen()) {
      return "Modal should be closed before reloading or something...";
    }
}

你需要想办法确定模态框是否已经打开。你可以通过内部跟踪状态(如我在这里用伪代码所示),或者检查DOM以查看您的模态框是否存在和/或可见。

正如评论中所述,一旦我们了解更多关于您的代码的信息,我们可以提供更具体的帮助,但希望这将指引您朝着正确的方向前进。


感谢您的及时回复@double.emms,但它没有起作用。我正在使用window.onbeforeunload = function() { if (modal.isOpen()) { alert("在重新加载页面之前应该关闭模态框"); } } - crsosa
非常抱歉,我之前写错了。它不应该调用 alert,而是返回消息。已经进行了编辑。 - double.emms
仍然无法工作。我提供了一些代码来帮助你。 - crsosa
好的,现在它运行得很好。它与我之前的意图不同,但你确实引导我走向了正确的方向。非常感谢! - crsosa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接