首页 文章

Bootstrap Modal无法打开.hidden - > .show,当它尚未打开时

提问于
浏览
1

Situation: 两个模态(modal1和modal2 . 模态1应在modal1关闭后打开模态2) .

  • 打开Modal1

  • 单击按钮关闭Modal1并打开Modal2

javascript代码:

$(“#btToOpenModal2”) . click(function(){
$( '#modal1')模态( '隐藏') .

setTimeout(function(){$('#modal2') . modal('show');},1000);

});

Problem: 新模态只显示灰色背景 .

如果我先用按钮打开modal2(并关闭),然后我使用javascript代码(其他按钮),然后它的工作 .

<button type="button" class="btn btn-info" data-toggle="modal" data-target="#modal2">Open Modal</button>

我真的不明白为什么那不起作用,也许有人已经有了这个问题 .

2 回答

  • 1

    做这样的事......

    $('#modal1').on('hidden.bs.modal', function (e) {
      // do something...
    });
    

    在完成转换后关闭modal1时会触发hidden.bs.modal,或者你想在关闭时立即触发它使用以下内容:

    $('#modal1').on('hide.bs.modal', function (e) {
      // do something...
    });
    
  • 1

    我创建了一个简单的例子而没有其他东西现在Modal1(id) - > Button-> open2(id)不再打开Modal2了

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    </head>
    <body>
    
    <div class="container">
      <h2>Modal Example</h2>
      <!-- Trigger the modal with a button -->
      <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal1">Open Modal1</button>
      <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal2">Open Modal2</button>
    
      <!-- Modal2 -->
      <div class="modal fade" id="myModal2" role="dialog">
        <div class="modal-dialog">
    
          <!-- Modal content-->
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal">&times;</button>
              <h4 class="modal-title">Modal Header</h4>
            </div>
            <div class="modal-body">
              <p>Some text in the modal.</p>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
    
        </div>
      </div>
    
      <!-- Modal1 -->
      <div class="modal fade" id="myModal1" role="dialog">
        <div class="modal-dialog">
    
          <!-- Modal content-->
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal">&times;</button>
              <h4 class="modal-title">Modal Header</h4>
            </div>
            <div class="modal-body">
             <button type="button" class="btn btn-info btn-lg" id="open2">Open Modal</button>
              <p>Some text in the modal.</p>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
    
        </div>
      </div>
    
    </div>
    
    <script type="text/javascript">
    $("#open2").click(function() {
    
        $('#myModal1').modal('hide');
    
        setTimeout(function() {
            $('#mymodal2').modal('show');
        }, 1000);
    });
    </script>
    
    </body>
    </html>
    

相关问题