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
})
}