Bootstrap4 弹出框(Popovers)方法

本章节我们介绍这些是标准Bootstrap程序的弹出框方法。

传递选项

我们还可以使用 options 对象将选项传递给 popovers 方法。

以下示例如果所选元素中的 title 属性值被省略或缺失,将动态设置工具提示的标题文本:

document.addEventListener("DOMContentLoaded", function(){
    var element = document.getElementById("myPopover");
    var tooltip = new bootstrap.Popover(element, {
        title : "Default popover title"
    });
});

尝试一下

以下示例将展示如何将 HTML 内容放置在弹出框中:

document.addEventListener("DOMContentLoaded", function(){
    var element = document.getElementById("myPopover");
    var popover = new bootstrap.Popover(element, {
        title: '<h4 class="custom-title"><i class="bi-info-circle-fill"></i> Popover info</h4>',
        content: '<p>This is a <em>simple example</em> demonstrating how to insert HTML code inside <strong>Bootstrap popover</strong>.</p>',
        html: true
    });
});

尝试一下

以下示例将展示如何使用弹出框的延迟选项通过 JavaScript 动态控制显示和隐藏弹出框的时间。

$(document).ready(function(){
    // Showing and hiding popover with same speed
    $(".popover-tiny").popover({
        delay: 500 // show tooltip after 500 milliseconds
    });
    
    // Showing and hiding popover with different speed
    $(".popover-large").popover({
        delay: {show: 0, hide: 2000}
    }); 
});

尝试一下

以下示例将展示如何为 Bootstrap 弹出框创建自己的自定义模板,而不是通过 JavaScript 动态使用默认模板。

$(document).ready(function(){
    $('[data-toggle="popover"]').popover({
        html: true,
        template: '<div class="popover"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div><div class="popover-footer"><a href="#" class="btn btn-info btn-sm">Close</a></div></div>'
    });
    
    // Custom jQuery to hide popover on click of the close button
    $(document).on("click", ".popover-footer .btn" , function(){
        $(this).parents(".popover").popover('hide');
    });
});

尝试一下

下面的示例将在 #wrapper 元素的末尾插入弹出框的动态生成的 HTML 代码,而不是默认的 <body> 元素。

$(document).ready(function(){
    // Append popover HTML to wrapper element
    $("#myPopovers a").popover({container: '.wrapper'}); 
});

尝试一下

注意 :覆盖工具提示的默认容器选项值不会在页面上产生任何可见的差异。 要查看实际结果,我们需要检查 DOM。 按 Ctrl+Shift+I (Windows / Linux) 或 Cmd+Opt+I (Mac) 打开开发者工具或 DOM Inspector。

同样,我们可以为弹出框设置其他选项。 我们来看看 Bootstrap 弹出框插件的其他方法。

show

show 方法显示元素的弹出框。 这被视为弹出框的“手动”触发。

$(document).ready(function(){
    $(".show-popover").click(function(){
        $("#myPopover").popover('show');
    }); 
});

尝试一下

hide

hide 方法隐藏元素的弹出框。

$(document).ready(function(){
    $(".hide-popover").click(function(){
        $("#myPopover").popover('hide');
    }); 
});

尝试一下

toggle

toggle 方法切换元素的弹出框。

$(document).ready(function(){
    $(".toggle-popover").click(function(){
        $("#myPopover").popover('toggle');
    }); 
});

尝试一下

dispose

dispose 方法隐藏和销毁元素的弹出框(即删除存储在 DOM 元素上的数据)。

$(document).ready(function(){
    $(".destroy-popover").click(function(){
        $("#myPopover").popover('dispose');
    }); 
});

尝试一下

enable

enable 方法使元素的弹出框能够显示。 默认情况下启用弹出框。

$(document).ready(function(){
    $(".enable-popover").click(function(){
        $("#myPopover").popover('enable');
    }); 
});

尝试一下

disable

disable 方法删除了显示元素弹出框的功能。 弹出框只有在重新启用后才能显示。

$(document).ready(function(){
    $(".disable-popover").click(function(){
        $("#myPopover").popover('disable');
    }); 
});

尝试一下

toggleEnabled

toggleEnabled 方法切换元素的弹出框显示或隐藏的能力。

$(document).ready(function(){
    $(".toggle-enabled-popover").click(function(){
        $("#myPopover").popover('toggleEnabled');
    }); 
});

尝试一下

update

update 方法更新元素弹出框的位置。

$(document).ready(function(){
    $(".update-popover").click(function(){
        $("#myPopover").popover('update');
    }); 
});

尝试一下

查看笔记

扫码一下
查看教程更方便