小编She*_*ang的帖子

隐藏显示的引导程序弹出窗口后需要单击两次

$('#popoverlink').popover();

$("#popoverhide").click(function() {
   $("#popoverlink").popover("hide"); 
});
Run Code Online (Sandbox Code Playgroud)
#popoverlink {
    position: absolute;
    top: 100px;
    left: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<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>
Run Code Online (Sandbox Code Playgroud)

小提琴相同.对不起前一个链接错了.这个是正确的.

隐藏显示的弹出窗口后,我需要再次单击弹出窗口触发器以再次显示它.

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

更新 我的意思是我用另一个按钮来隐藏一个弹出窗口

$("#popoverTrigger").popover("hide");
Run Code Online (Sandbox Code Playgroud)

我需要两次单击"#popoverTrigger"来显示它.

愚蠢的解决方案

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

还有另一个好主意吗?

jquery twitter-bootstrap

47
推荐指数
3
解决办法
2万
查看次数

标签 统计

jquery ×1

twitter-bootstrap ×1