如何将函数附加到popover dismiss事件(Twitter Bootstrap)

Mat*_*att 7 javascript event-handling popover twitter-bootstrap

我做了一些搜索,我只能想到我可以将事件附加到导致它关闭的按钮上.

但是,当用户只是点击其他位置时,这不会处理.我想触发一个事件,因为popover正在消失并被删除.有人有什么建议吗?

更新:我已经尝试了下面的答案,并且无法让它工作,虽然它显然应该来自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');
    });
Run Code Online (Sandbox Code Playgroud)

它创建弹出窗口,显示它,然后添加on hidden事件.前两个工作正常.但是,单击取消按钮(data-dismiss='modal')或单击屏幕上的其他位置以关闭按钮时,第三个不会触发.

我使用的图书馆是:require.js,backbone.js,marionette.js.

我已经修改了jsfiddle使用click并且它仍然可以工作:http://jsfiddle.net/zj37u/

有没有人有关于为什么我的工作可能不起作用或我如何调试它的建议?我已经尝试了几种变化.

haj*_*poj 12

有一个hidehidden你可以在popover上听的事件.hide当弹出开始消失并且hidden它完成时发生.

以下是将鼠标从弹出链接移开时显示警报的示例:

HTML:

<a href="#" id="button"
        class="btn danger" 
        rel="popover" 
        data-original-title="title" 
        data-content="content">popover</a>
Run Code Online (Sandbox Code Playgroud)

JS:

var $popover = $("a[rel=popover]").popover({
    trigger: "hover"
}).click(function(e) {
    e.preventDefault(); 
});

$popover.on("hidden", function(e) {
    alert("hidden");
});
Run Code Online (Sandbox Code Playgroud)

也作为一个jsfiddle:http://jsfiddle.net/Ny5Km/4/

更新:

对于bootstrap版本v3.3.5,请参阅popover -events

$popover.on("hidden.bs.popover", function(e) {
    alert("hidden.bs.popover");
});
Run Code Online (Sandbox Code Playgroud)