我试图创建多个Bootstrap弹出窗口示例,并能够在单击时关闭所有示例。
我是这么做的
document.addEventListener('DOMContentLoaded', function () {
var items = [];
document.getElementById('addPopperButton', function () {
var btn = document.createElement('button');
btn.setAttribute('type', 'button');
btn.innerText = 'Toggle poppver';
var item = new bootstrap.Popover(btn, {
trigger: 'hover click',
title: 'lorem text',
content: 'lorem text'
});
items.push(item);
document.body.appendChild(btn);
});
document.getElementById('hideAllPopovers', function () {
items.forEach(item => {
item.popover('hide');
});
});
});
字符串
然而,这一直给我以下错误
未捕获的TypeError:item.popover不是函数
如何在单击hideAllPopovers
时手动隐藏所有弹出框示例?
1条答案
按热度按时间wb1gzix01#
在Bootstrap 5中,可以通过
hide
方法隐藏弹出框:字符串
$().popover('hide')
在Bootstrap v3和4中使用。在您的代码中,
item
是一个popover示例,因此您应该将item.popover('hide');
替换为item.hide();
。型
Stackblitz demo:https://stackblitz.com/edit/stackblitz-starters-chdxor?file=src%2Findex.js
来自Bootstrap 5文档,
hide
方法:隐藏元素的弹出框。在弹出框实际隐藏之前(即在hidden.bs.popover事件发生之前)返回给调用方。这被认为是弹出框的“手动”触发。