使用“关闭”按钮时,Popover仅在每次单击时显示

我在一个页面上有多个弹出窗口,他们都有一个关闭按钮。

如果我通过点击打开它的相同按钮来关闭popover,我没有问题。 当我点击popover中的一个dismiss按钮时出现问题。

当我点击弹出窗口中的关闭按钮时,弹出窗口关闭,但是下次我单击打开它时,它不会打开。 只有在我第二次点击按钮时才会打开。

HTML:

<button type="button" class="btn btn-default" data-toggle="popover" data-placement="right" data-content="
" title="Delete this">Delete this

JS:

 $.fn.extend({ popoverClosable: function (options) { var defaults = { html: true, template: '
\
\
\ \

\
\
\
' }; options = $.extend({}, defaults, options); var $popover_togglers = this; $popover_togglers.popover(options); $popover_togglers.on('click', function (e) { e.preventDefault(); $popover_togglers.not(this).popover('hide'); }); $('html').on('click', '[data-dismiss="popover"]', function (e) { $popover_togglers.popover('hide'); }); } }); $(function () { $('[data-toggle="popover"]').popoverClosable(); });

的jsfiddle

每次单击按钮打开时,如何打开弹出窗口?

看起来像3.3.5中的错误。 请参阅https://github.com/twbs/bootstrap/issues/16732

我已经解决过:

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