Bootstrap popover无法在第二次单击时工作

时间:2016-10-17 13:24:48

标签: jquery twitter-bootstrap popover

类似于this问题,我的弹出窗口没有显示在第二,第四,第六......点击,而我试图将其淡出。我的代码:

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

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

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

链接中提供的答案声称它是一个Bootstrap 3.3.5错误。虽然,我正在使用bootstrap 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 个答案:

答案 0 :(得分:3)

似乎该错误尚未在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
    })
}