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 箭头打开,内容位于左侧

如何在一张图片上放置几个 Tooltipster 工具提示?

带有“sideTip”插件的 Tooltipster 初始化错误

tooltipster 插件用于未来的元素?