36

我有这样的麻烦:我有使用 Bootstrap 模态进行的身份验证。

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

现在我像这样关闭它们:

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

但是当我这样做时 - 在我刷新页面之前,我无法重新打开登录模式(点击从登录中注册后)。

有人可以建议如何检查我单击链接的模式并在调用另一个模式时关闭它?有没有通用的方法来关闭以前的模式?

4

3 回答 3

87

您可以通过以下方式隐藏 Bootstrap 模态:

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

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

于 2012-09-21T13:51:44.883 回答
4

切换两种模式

$('#modalOne').modal('toggle');
$('#modalTwo').modal('toggle');
于 2016-06-10T22:52:36.800 回答
1

我能做的最好的就是

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

这将获取包含您触发事件的 DOM 对象的模态(猜测您正在单击一个按钮)。获取最近的父 '.modal' 并切换它。显然只有效,因为它在您单击的模式内。

但是,您可以这样做:

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

这将获取正在显示的模式(因为您一次只能打开一个),并触发“切换”如果没有“:可见”,这将无法工作

于 2017-06-24T22:18:51.853 回答