【问题标题】:do not reload page when modal is open模式打开时不重新加载页面
【发布时间】:2015-07-01 17:12:17
【问题描述】:

这是我的第一个问题。我想防止仅在模式打开时从浏览器重新加载按钮重新加载页面。否则可以重新加载。我应该显示一个警告,说在重新加载之前应该关闭模态框或类似的东西。

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 。在模式关闭时尝试制作一个确认警报 dailog 以防止刷新页面。
  • 嗨@SHAZ,我展示了一些代码。

标签: javascript ajax modal-dialog


【解决方案1】:

您可以使用onbeforeunload 来提供这种响应。

window.onbeforeunload = function() {
    if (modal.isOpen()) {
      return "Modal should be closed before reloading or something...";
    }
}

您需要以某种方式确定模式是否打开。您可以在内部跟踪状态(正如我在此处尝试使用伪代码显示的那样),或者通过检查 DOM 以查看您的模态是否存在和/或可见。

如 cmets 中所述,一旦我们对您的代码有更多了解,我们可以提供更具体的帮助,但希望这会为您指明正确的方向。

【讨论】:

  • 感谢您的及时回复@double.emms,但它不起作用。我正在使用 window.onbeforeunload = function() { if (modal.isOpen()) { alert("Modal 应该在重新加载页面之前关闭"); } }
  • 非常抱歉。我一开始有一个错字。它不应该调用alert,只是返回消息。它已被编辑。
  • 仍然无法正常工作。我提供了一些代码来帮助自己
  • 好的,现在可以正常使用了。它的工作方式与我之前的预期不同,但您明确地引导我走向正确的方向。非常感谢
猜你喜欢
  • 1970-01-01
  • 2015-03-20
  • 2021-11-30
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多