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…
})

监视一个模态何时关闭,但我想知道是否有办法监视任何模态何时关闭。

4

3 回答 3

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

来自 bootstrap 3.x 文档 http://getbootstrap.com/javascript/#modals

于 2014-01-17T08:26:19.237 回答
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 回答
2

默认情况下,大多数事件从原始事件目标冒泡document到元素。这也是hidden当模式对用户隐藏完毕时触发的事件的情况。因此,监视任何模式何时关闭的一种方法是将事件处理程序附加到document元素,如下所示:

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