【问题标题】:How to hide Bootstrap previous modal when you opening new one?打开新模式时如何隐藏 Bootstrap 以前的模式?
【发布时间】:2012-09-21 13:35:10
【问题描述】:

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

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

现在我像这样关闭它们:

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

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

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

【问题讨论】:

    标签: jquery twitter-bootstrap modal-dialog


    【解决方案1】:

    您可以使用以下方法隐藏 Bootstrap 模态:

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

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

    【讨论】:

    • willglynn,我知道如何隐藏它,但我需要一些逻辑方面的帮助。我可以创建一个例子,你会看吗?
    • 您的示例显示使用$().hide 隐藏,而不是使用$().modal('hide')。但是,是的,JSFiddle 会有所帮助。
    • 是的,它比我的工作得更好)我不专心。谢谢你)
    • 成功了,谢谢
    【解决方案2】:

    切换两种模式

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

    【讨论】:

      【解决方案3】:

      我能做到的最好的就是

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

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

      但是你可以这样做:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-28
        • 2012-06-27
        • 1970-01-01
        • 1970-01-01
        • 2017-12-21
        • 2022-11-18
        • 2012-05-03
        相关资源
        最近更新 更多