首页 > 解决方案 > 关闭特定模式后重新加载页面

问题描述

我在一个页面上有两个模态。我只想要一个在关闭后刷新父页面。但是,即使我添加代码来执行此操作,两种模式都会在关闭后刷新页面。知道为什么吗?

<script>
    $(document.body).on('hidden.bs.modal', function () {
    $('#myModal').removeData('bs.modal');
    });
</script>

<script>
    $(document.body).on('hidden.bs.modal', function () {
    $('#myModal2').removeData('bs.modal');
    location.reload();
    });
</script>

模态1调用:

<a data-toggle="modal" data-target="#myModal" href="modal_target.cfm?M=#MLink#" class="btn btn-#bg_color#">#CP#</a>

模态2调用:

<a data-toggle="modal" data-target="#myModal2" href="modal_AmendCP.cfm?M=#MLink#" title="view details" class="btn btn-primary">#Measure#</a>

谢谢你的帮助!

标签: javascripttwitter-bootstrapmodal-dialog

解决方案


您的两个函数都在模态关闭的同一事件上触发$(document.body)

您应该将其更改为仅在模态对象上触发:

<script>
    $('#myModal').on('hidden.bs.modal', function () {
    $('#myModal').removeData('bs.modal');
    });
</script>

<script>
    $('#myModal2').on('hidden.bs.modal', function () {
    $('#myModal2').removeData('bs.modal');
    location.reload();
    });
</script>

从引导文档:

hidden.bs.modal:当模态完成对用户隐藏时触发此事件(将等待 CSS 转换完成)​​。


推荐阅读