如何在打开新模式时隐藏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”,这将无效