我已经做了一些搜索,我只能认为我可以将事件附加到按钮上,使其关闭。
但是,这不能处理用户只是单击其他地方的情况。我想触发一个事件的弹出窗口正在褪色和被删除。有人有什么建议吗?
Update:我已经尝试了下面的答案,无法让它工作,虽然它显然应该从jsfiddle的例子。我使用的库和设置可能会有一些冲突。
下面是我使用的代码:this.$el
.popover({
html: true,
title: 'Schedule an appointment',
content: '<div id="' + this.popoverView.cid + '" class="event-popover"></div>',
placement: placement
})
.popover('show')
.on('hidden', function(e) {
alert('hidden');
});
它创建弹出窗口,显示它,然后添加on hidden
事件。前两个工作正常。然而,当单击取消按钮(data-dismiss='modal'
)或单击屏幕上的其他地方关闭按钮时,第三个按钮不会触发。
我使用的库是:require.js
, backbone.js
, marionette.js
。
我已经修改了jsfiddle使用点击,它仍然工作:http://jsfiddle.net/zj37u/
有没有人有建议,为什么我可能不工作或我如何调试它?我已经尝试了一些变化
您可以在弹出窗口上收听hide
和hidden
事件。hide
发生在弹出窗口开始消失时,hidden
发生在弹出窗口完成时。
下面是一个当你把鼠标移离弹出窗口链接时显示警告的例子:
HTML:<a href="#" id="button"
class="btn danger"
rel="popover"
data-original-title="title"
data-content="content">popover</a>
JS:
var $popover = $("a[rel=popover]").popover({
trigger: "hover"
}).click(function(e) {
e.preventDefault();
});
$popover.on("hidden", function(e) {
alert("hidden");
});
也可以作为jsfiddle: http://jsfiddle.net/Ny5Km/4/
更新:
对于引导版本v3.3.5,请参见popover-events
$popover.on("hidden.bs.popover", function(e) {
alert("hidden.bs.popover");
});