【问题标题】:Bootstrap popover not working on second click引导弹出窗口在第二次单击时不起作用
【发布时间】:2016-10-17 13:24:48
【问题描述】:

类似于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 错误。虽然,我正在使用引导程序 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

【问题讨论】:

    标签: jquery twitter-bootstrap popover


    【解决方案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
        })
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 2018-12-17
      相关资源
      最近更新 更多