如何在打开新模式时隐藏Bootstrap以前的模态?

我有这样的麻烦:我使用Bootstrap模式进行身份validation。

当用户打开登录模式时,他可以去注册模态(或其他)。 所以,我需要关闭前一个。

现在我这样关闭他们:

$(document).ready(function(){ $("a").click(function() { $("#login").hide(); $("#sign_up").hide(); }) }); 

但是当我这样做时 – 我无法重新开启登录模式(点击登录后注册),直到我刷新页面。

有人可以建议如何检查我点击链接的模态并关闭它,当打电话给另一个? 是否有任何通用的方法来关闭以前的模态?

你隐藏Bootstrap模态:

 $('#modal').modal('hide'); 

$().hide()使匹配的元素不可见,但就模态相关的代码而言,它仍然存在。 请参阅Modals文档中的Methods部分。

切换两个模态

 $('#modalOne').modal('toggle'); $('#modalTwo').modal('toggle'); 

我能做的最好的事情是

 $(this).closest('.modal').modal('toggle'); 

这将使模态持有您触发事件的DOM对象(猜测您正在单击按钮)。 获取最接近的父“.modal”并切换它。 显然只能工作,因为它在你点击的模态中。

但是你可以这样做:

 $(".modal:visible").modal('toggle'); 

这将获得正在显示的模态(因为您一次只能打开一个),并触发“切换”如果没有“:visible”,这将无效