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>

そして、モールウィンドウを閉じた後でなければならないコードがあります:

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

モーダルウィンドウを閉じる(閉じるまたは隠す)ときに2番目のコードを実行する方法を教えてください。

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 に答える