6

私は現在、ビデオをモーダルに配置するためにBootstrapに取り組んでいます。すべてがcmsを介して生成されます(したがって、表示されるビデオの量を制御することはできません)。

すべてが順調に進んでいます(各モーダルに独自のIDを指定する必要があり、すべてが機能します)。つまり、モーダルを閉じてビデオが実行されているとき、ビデオ(およびサウンド)はバックグラウンドで実行され続けます。

これを回避するために、モーダルがxボタンで閉じているときに、次のようにモーダルのhtmlを更新します。

$('button.close').click(function(){
    var divcible=$(this).parent().parent().find(".modal-body");
    var html = divcible.html()
    divcible.html("")
    divcible.html(html)
})

それに関する私の問題は、ユーザーが背景をクリックしても、Htmlがリセットされないことです。Boostrapのウェブサイトで彼らはこれを呼んでいます

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

1つのモーダルがいつ閉じるかを監視しますが、いずれかのモーダルがいつ閉じるかを監視する方法があるかどうかを確認したいと思います。

4

3 に答える 3

9

モーダルにクラスを追加し、それを使用します。

$('.myModal').on('hidden', function () {
   // do something…

   // edit for clarity: "that" will now reference the modal that was hidden
   var that = this;          
})
于 2012-07-12T15:24:34.413 に答える
9
$('#myModal').on('hidden.bs.modal', function (e) {
  // do something...
})

bootstrap3.xのドキュメントから http://getbootstrap.com/javascript/#modals

于 2014-01-17T08:26:19.237 に答える
2

デフォルトでは、ほとんどのイベントは元のイベントターゲットから要素にバブルアップします。documentこれはhidden、モーダルがユーザーから隠され終わったときに発生するイベントの場合にも当てはまります。したがって、モーダルがいつ閉じるかを監視する方法は、document次のようにイベントハンドラーを要素にアタッチすることです。

$(document).on('hidden', function () {
  // a modal closes, so do what you want :)
})
于 2012-07-12T15:38:31.327 に答える