教程 > bootstrap 5 教程 > 阅读:832

bootstrap5 弹出框(popovers)方法——迹忆客-ag捕鱼王app官网

本章节我们介绍这些是标准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: '

popover info

', content: '

this is a simple example demonstrating how to insert html code inside bootstrap popover.

', html: true }); });

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

document.addeventlistener("domcontentloaded", function(){
    var tinytrigger = document.getelementbyid("tinypopover");
    var largetrigger = document.getelementbyid("largepopover");
        
    // showing and hiding popover with same speed
    var tinypopover = new bootstrap.popover(tinytrigger, {
        delay: 100
    });
    
    // showing and hiding popover with different speed
    var largepopover = new bootstrap.popover(largetrigger, {
        delay: {show: 0, hide: 2000}
    });
});

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

document.addeventlistener("domcontentloaded", function(){
    var popovertriggerlist = [].slice.call(document.queryselectorall('[data-bs-toggle="popover"]'));
    var popoverlist = popovertriggerlist.map(function(element){
        return new bootstrap.popover(element, {
            template: '
' }); }); }); // close popover on button click document.addeventlistener("click", function(e){ if(e.target && e.target.classlist.contains("close")){ var popover = bootstrap.popover.getinstance(e.target.closest(".popover")); popover.hide(); } });

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

document.addeventlistener("domcontentloaded", function(){
    var element = document.getelementbyid("mypopover");
    // append popover html to wrapper element
    var popover = new bootstrap.popover(element, {
        container: "#wrapper"
    });
});

注意 :覆盖工具提示的默认容器选项值不会在页面上产生任何可见的差异。 要查看实际结果,我们需要检查 dom。 按 ctrl shift i (windows / linux) 或 cmd opt i (mac) 打开开发者工具或 dom inspector。

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

show

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.show();
    });
});

hide

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.hide();
    });
});

toggle

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.toggle();
    });
});

dispose

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.dispose();
    });
});

enable

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.enable();
    });
});

disable

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.disable();
    });
});

toggleenabled

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.toggleenabled();
    });
});

update

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

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // create a popover instance
    var mypopover = new bootstrap.popover(element);
    btn.addeventlistener("click", function(){
        mypopover.update();
    });
});

getinstance

这是一个静态方法,我们可以使用它获取与 dom 元素关联的弹出框实例。

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    // trigger the popover
    var mypopover = new bootstrap.popover(element);
    // get popover instance on button click
    btn.addeventlistener("click", function(){        
        var popover = bootstrap.popover.getinstance(element);
        console.log(popover);
        // {_element: button#mypopover.btn.btn-primary.btn-lg, _isenabled: true, _timeout: 0, _hoverstate: null, _activetrigger: {…}, …}
    });
});

getorcreateinstance

这是一个静态方法,我们可以使用它获取与 dom 元素关联的弹出框实例,或者在弹出框未初始化的情况下创建一个新实例。

document.addeventlistener("domcontentloaded", function(){
    var btn = document.getelementbyid("mybtn");
    var element = document.getelementbyid("mypopover");
    
    // get or create popover instance on button click
    btn.addeventlistener("click", function(){        
        var popover = bootstrap.popover.getorcreateinstance(element);
        console.log(popover);
        // {_element: button#mypopover.btn.btn-primary.btn-lg, _isenabled: true, _timeout: 0, _hoverstate: "", _activetrigger: {…}, …}
    });
});

提示 :不能在类的实例(即对象)上调用静态方法。 他们被称为类本身。 关键字 static 用于为类定义静态方法。

查看笔记

扫码一下
查看教程更方便
网站地图