Bootstrap自定义弹出窗口不会在首次单击时显示

时间:2019-01-29 09:42:28

标签: javascript jquery html bootstrap-4 popover

实际上,我希望在用户按下锚点后显示一个自定义弹出窗口,然后他可以选择一个项目,然后在该项目之后我会做一些服务器操作。

问题是,当我第一次按下锚点时,什么也没有发生,但是如果我再按一次,就会显示出警号。

然后,如果用户在背景上按一下,我将隐藏弹出窗口。

这是我从主播那里租用的功能

<script>
    function pop(id) {
        $("#" + id).popover({
            html: true,
            content: function () {
                return $('#popover-content').html();
            }
        });
    }
</script>

这是我要显示的弹出窗口的代码

 <li id="popover-content" class="list-group" style="display: none">
            <a href="#" class="badge badge-primary">CHIUSO</a>
            <a href="#" class="badge badge-success">RISOLTO</a>
            <a href="#" class="badge badge-warning">IN ATTESA</a>
            <a href="#" class="badge badge-danger">SCADUTO</a>
        </li>

2 个答案:

答案 0 :(得分:0)

您尝试过这个jQuery脚本吗?

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

here所示。

告诉我们是否可行。

答案 1 :(得分:0)

$().popover({...})方法注册弹出窗口,但尚未显示。因此,您的pop(id)函数的第一个执行将只是在元素上注册弹出窗口。

当您想在单击时显示弹出窗口时,您还必须在注册后以编程方式显示它,以便您的功能看起来像这样。

function pop(id) {
    // register the popover
    $("#" + id).popover({
        html: true,
        content: function () {
            return $('#popover-content').html();
        }
    });

    // show the popover
    $("#" + id).popover('show');
}