Как прикрепить функцию к событию popover dismiss (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');
    });

он создает popover, показывает его, а затем добавляет on hidden событие. Первые два работают правильно. Однако третий не срабатывает при нажатии кнопки "Отмена" (data-dismiss='modal') или нажмите в другом месте экрана, чтобы закрыть кнопку.

библиотеки, которые я использую:require.js, backbone.js, marionette.js.

Я пересмотрел jsfiddle для использования нажмите, и он все еще работает:http://jsfiddle.net/zj37u/

есть ли у кого-нибудь предложения о том, почему мой может не работать или как я могу его отладить? Я уже пробовал пару вариантов.

1 ответов


есть hide и hidden событие, которое вы можете слушать на пирог. hide происходит, когда popover начинает исчезать и hidden, когда он завершается.

вот пример отображения предупреждения, когда вы перемещаете мышь от ссылки popover:

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-события

$popover.on("hidden.bs.popover", function(e) {
    alert("hidden.bs.popover");
});