如何在模态关闭时关闭popovers?

时间:2014-06-27 10:17:19

标签: twitter-bootstrap popover

我想关闭模态中的所有弹出窗口,以便在重新打开模态时不会显示它们。

问题是如果我尝试在$("#modal").on("hidden", function() { [...] });关闭,目标已经无法使用。如果我在.on("shown", ...进行此操作,也是如此。

我无法删除使用:

$(".buttonPopover").popover("hide");

因为我想要删除弹出框时.buttonPopover永远不可用。如何在不访问父母的情况下关闭它们?

Bootply

1 个答案:

答案 0 :(得分:1)

  

问题在于,如果我尝试在.on("hidden")处关闭,则目标已经不可用

那是因为hidden.bs.modal事件触发了:

  

“当模态完成对用户的隐藏时(将等待CSS过渡完成)。”

相反,请使用hide.bs.modal事件:

  当调用hide实例方法时,

会立即触发“

像这样:

$('.modal').on('hide.bs.modal', function() {
  $("#openPopover").popover("hide")
});

Demo in Bootply


更新

我很好奇,如果你hidden事件发生在第一时间。事件名称是命名空间,因此您必须将其称为hidden.bs.modal

永远不会被召唤:

$('.modal').on('hidden', function() {
  alert('hi');
});

这应该有效:

$('.modal').on('hidden.bs.modal', function() {
  $("#openPopover").popover("hide")
});