我想关闭模态中的所有弹出窗口,以便在重新打开模态时不会显示它们。
问题是如果我尝试在$("#modal").on("hidden", function() { [...] });
关闭,目标已经无法使用。如果我在.on("shown", ...
进行此操作,也是如此。
我无法删除使用:
$(".buttonPopover").popover("hide");
因为我想要删除弹出框时.buttonPopover
永远不可用。如何在不访问父母的情况下关闭它们?
答案 0 :(得分:1)
问题在于,如果我尝试在
.on("hidden")
处关闭,则目标已经不可用
那是因为hidden.bs.modal
事件触发了:
“当模态完成对用户的隐藏时(将等待CSS过渡完成)。”
相反,请使用hide.bs.modal
事件:
当调用hide实例方法时,会立即触发“
像这样:
$('.modal').on('hide.bs.modal', function() {
$("#openPopover").popover("hide")
});
我很好奇,如果你hidden
事件发生在第一时间。事件名称是命名空间,因此您必须将其称为hidden.bs.modal
永远不会被召唤:
$('.modal').on('hidden', function() {
alert('hi');
});
这应该有效:
$('.modal').on('hidden.bs.modal', function() {
$("#openPopover").popover("hide")
});