25

我有代码模式:

    <-- Button to trigger modal -->
<div id="result"></div>
<a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>

<-- Modal -->
<div class="modal" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Modal header</h3>
  </div>
  <div class="modal-body">
    <p>One fine body…&lt;/p>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <button class="btn btn-primary">Save changes</button>
  </div>
</div>

我有代码什么时候应该在关闭 moal 窗口之后:

$('#result').html('yes,result');

请告诉我如何在关闭模式窗口(关闭或隐藏)时执行第二个代码?

4

5 回答 5

60

如果您使用的是 Bootstrap 3.x 版,那么现在执行此操作的正确方法是:

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

向下滚动到活动部分以了解更多信息。

http://getbootstrap.com/javascript/#modals-usage

无论何时发布第 4 版 ( http://v4-alpha.getbootstrap.com/components/modal/#events ),这似乎都保持不变,但如果是这样,我一定会用相关信息更新这篇文章。

于 2014-11-14T16:02:27.357 回答
32

我找到答案。谢谢下一个正确的答案:

$("#myModal").on("hidden", function () {
  $('#result').html('yes,result');
});

这里的事件http://bootstrap-ru.com/javascript.php#modals

UPD

对于 Bootstrap 3.x 需要使用hidden.bs.modal

$("#myModal").on("hidden.bs.modal", function () {
  $('#result').html('yes,result');
});
于 2013-02-12T20:17:14.607 回答
3

可能有用的答案很少,特别是如果您有动态内容。

$('#dialogueForm').live("dialogclose", function() {
    //your code to run on dialog close
});

或者,在打开模式时,有一个回调。

$( "#dialogueForm" ).dialog({
    autoOpen: false,
    height: "auto",
    width: "auto",
    modal: true,
    my: "center",
    at: "center",
    of: window,
    close : function() {
        // functionality goes here
    }
});
于 2017-06-02T08:05:55.917 回答
0
$('.close').click(function() {
  //Code to be executed when close is clicked
  $('#result').html('yes,result');
});
于 2013-02-12T20:11:55.783 回答
0

首先检查模态div是否正确,

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

参考:https ://jsfiddle.net/jakecigar/DTcHh/42400/

于 2021-11-17T13:31:40.077 回答