jquery – 需要在隐藏显示的引导弹出窗口后点击两次

前端之家收集整理的这篇文章主要介绍了jquery – 需要在隐藏显示的引导弹出窗口后点击两次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
$('#popoverlink').popover();

$("#popoverhide").click(function() {
   $("#popoverlink").popover("hide"); 
});
#popoverlink {
    position: absolute;
    top: 100px;
    left: 100px;
}
<a href="#" id="popoverlink" class="btn" rel="popover" title="Some title">Popover</a>
<a href="#" id="popoverhide" class="btn" rel="popover" title="Some title">hide</a>

fiddle相同。对不起,以前的链接错误的。这一个是正确的。

在隐藏显示的popover之后,我需要双击popover触发器再次显示

这是一个bug吗?有什么可以避免的吗?

UPDATE
我的意思是我用另一个按钮隐藏了一个popover

$("#popoverTrigger").popover("hide");

比我需要点击“#popoverTrigger”两次显示

STUPID解决方

$("popoverhide").click(function() {
    var f = false;
    if($("popoverlink").next('div.popover:visible')) {
        f = true;
        $("popoverlink").popover("hide");
    }
    if(f) {
        $("popoverlink").click();
    }
})

还有另一个好主意吗?

解决方法

在3.3.6中仍然没有解决,但是我在这里找到了一个提出的解决方案:

https://github.com/twbs/bootstrap/issues/16732

https://github.com/twbs/bootstrap/pull/17702/files#diff-f3e99e0bb007ace7a370f0492b9cb5abR340

我已经在隐藏的事件中应用了它:

$('body').on('hidden.bs.popover',function (e) {
    $(e.target).data("bs.popover").inState.click = false;
});

这对我有用要与拟议的修正完全相同:

$('body').on('hidden.bs.popover',function (e) {
    $(e.target).data("bs.popover").inState = { click: false,hover: false,focus: false }
});

注意:我使用委托的popovers这就是为什么我使用$(‘body’)引用。

原文链接:https://www.f2er.com/jquery/183088.html

猜你在找的jQuery相关文章