单击元素后工具提示不会隐藏 (bootstrap v5.0)
tooltip didn't hide after click on element (bootstrap v5.0)
我将 bootstrap 版本从 4.5.x 更改为 5.0.1,并将工具提示的初始化从 $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'});
更改为
至
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
container: 'body'
});
})
但是在点击显示工具提示的元素后工具提示仍然可见的问题在 5.0 版本中又回来了。我已经在版本 4.5.x 中用 $('[data-toggle="tooltip"]').tooltip("hide");
解决了这个问题,但这在版本 5.
中不起作用
我试过了:
let tooltipElement = document.getElementById('myElementwithTooltip');
let tooltip = bootstrap.Tooltip.getInstance(tooltipElement);
tooltip.hide();
// or
tooltip.dispose();
但这并没有起到应有的作用。
我在网站上有很多工具提示,其中一些会打开一个对话框,其中一些是作为数据表插件(具有排序功能)中列 header 的描述。
bootstrap website 上的工具提示也有同样的问题。单击元素后,工具提示不会消失。
如果有任何想法或建议,我将不胜感激。
如果您希望悬停时显示工具提示,请确保将 hover
指定为触发选项。
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
container: 'body',
trigger : 'hover'
});
})
那么你就不会有点击问题了。
此外,hide()
除非绑定到事件处理程序,否则不会像您展示的那样工作。
我将 bootstrap 版本从 4.5.x 更改为 5.0.1,并将工具提示的初始化从 $('[data-toggle="tooltip"]').tooltip({trigger: 'hover'});
更改为
至
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
container: 'body'
});
})
但是在点击显示工具提示的元素后工具提示仍然可见的问题在 5.0 版本中又回来了。我已经在版本 4.5.x 中用 $('[data-toggle="tooltip"]').tooltip("hide");
解决了这个问题,但这在版本 5.
我试过了:
let tooltipElement = document.getElementById('myElementwithTooltip');
let tooltip = bootstrap.Tooltip.getInstance(tooltipElement);
tooltip.hide();
// or
tooltip.dispose();
但这并没有起到应有的作用。 我在网站上有很多工具提示,其中一些会打开一个对话框,其中一些是作为数据表插件(具有排序功能)中列 header 的描述。
bootstrap website 上的工具提示也有同样的问题。单击元素后,工具提示不会消失。
如果有任何想法或建议,我将不胜感激。
如果您希望悬停时显示工具提示,请确保将 hover
指定为触发选项。
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
container: 'body',
trigger : 'hover'
});
})
那么你就不会有点击问题了。
此外,hide()
除非绑定到事件处理程序,否则不会像您展示的那样工作。