Bootstrap popover не работает при втором нажатии

Как и в этом вопросе, мой поповер не отображается на втором, четвертом, шестом... щелчке, пока я пытаюсь его убрать. Мой код:

$('[data-toggle="popover"]').popover({
    placement: 'bottom',
    delay: {
        show: 50
    }
});

$('[data-toggle="popover"]').click(function () {

    setTimeout(function () {
        $('.popover').fadeOut('slow');
    }, 1000);
});

Ответ, приведенный в ссылке, утверждает, что это ошибка Bootstrap 3.3.5. Хотя я работаю с начальной загрузкой 3.3.7, предлагаемое решение не помогает:

if ($.fn.popover.Constructor.VERSION == "3.3.7") {
     $('[data-toggle="popover"]').on("hidden.bs.popover", function() {
          $(this).data("bs.popover").inState.click = false
     })
}    

Чтобы увидеть ошибку в действии: JSFiddle

1 ответ

Решение

Кажется, ошибка еще не исправлена ​​в 3.3.7, но предлагаемое решение действительно работает. Вам все еще нужно скрыть поповер с .popover('hide')вместо того, чтобы просто исчезать. Следующее сделает свое дело:

$('.popover').fadeOut('slow').popover('hide');

Используйте это в сочетании с:

if ($.fn.popover.Constructor.VERSION == "3.3.7") {
    $('[data-toggle="popover"]').on("hidden.bs.popover", function() {
        $(this).data("bs.popover").inState.click = false
    })
}
Другие вопросы по тегам