Tooltipster jQuery插件和引导程序一起导致消失的问题
Posted
技术标签:
【中文标题】Tooltipster jQuery插件和引导程序一起导致消失的问题【英文标题】:Tooltipster jQuery plugin and bootstrap together causing disappearing issue 【发布时间】:2015-05-29 18:06:38 【问题描述】:我遇到了一个问题,如果我将类“工具提示”应用于对象,它将消失,但这仅在我使用引导程序时发生,我想知道是否有人知道解决方法。我将提供两者的示例。
这里没有引导:
$(document).ready(function()
$('.tooltip').tooltipster();
);
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/css/tooltipster.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/js/jquery.tooltipster.min.js"></script>
<i class="fa fa-facebook-square fa-2x tooltip" title="Working!"></i>
这是带有引导程序的 sn-p:
$(document).ready(function()
$('.tooltip').tooltipster();
);
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/css/tooltipster.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/js/jquery.tooltipster.min.js"></script>
<i class="fa fa-facebook-square tooltip" title="Working!"></i>
如果您转到隐藏图标的第二个并将鼠标悬停在左上角,您可以看到工具提示显示,但如果我的图标被隐藏,它对我没有帮助。
【问题讨论】:
为什么不使用 Bootstrap 提供的内置工具提示呢?这是它的官方文档:getbootstrap.com/javascript/#tooltips 感谢您的提示!我在文档中错过了。 作为记录,我同意@AndrewLyndem bootstrap 提供“工具提示”功能,没有理由使用提供几乎相同功能的不同 JS。 【参考方案1】:它没有出现的原因是你使用了一个通用的类名.tooltip
,而 Bootstrap 使用相同的 CSS 名称作为它的工具提示。如果您查看 DOM,您会看到 Bootstraps tooltip
代码正在设置 opacity:0;
和 position:absolute;
,这就是您不再看到 Font Awesome 图标的原因。如果更改类名和 JQuery 调用,图标和工具提示会正确显示。
<i class="fa fa-facebook tooltip-custom" title="Working!"></i>
<script type="text/javascript">
$(document).ready(function()
$('.tooltip-custom').tooltipster();
);
</script>
希望有帮助。
【讨论】:
【参考方案2】:如上所述,外部工具提示和默认 Bootstrap 工具提示之间存在冲突。正如我在 cmets 中提到的,我建议您改用 Bootstrap 提供的内置工具提示。
这是引导工具提示的官方文档:http://getbootstrap.com/javascript/#tooltips
【讨论】:
我同意安德鲁 ^ 这个答案不再适用,因为 Bootstrap 4 使用 popper.js 并且该包存在已知的定位问题。 @kjdion84 是的,但是这个问题是针对标签中指定的 Bootstrap 3 的,所以这仍然适用于 bootstrap 3 用户。以上是关于Tooltipster jQuery插件和引导程序一起导致消失的问题的主要内容,如果未能解决你的问题,请参考以下文章
发现一款好用的jquery插件(tooltipster实用的工具提示插件)
Jquery Tooltipster - ajax 后访问 DOM
如何在一张图片上放置几个 Tooltipster 工具提示?