我快疯了。

我有以下HTML:

<a href="#" rel="tooltip" title="A nice tooltip">test</a>

引导样式的工具提示拒绝显示,只是一个普通的工具提示。

我有bootstrap。css工作得很好,我可以看到里面的类

我已经在我的HTML文件的末尾得到了所有相关的JS文件:

<script src="bootstrap/js/jquery.js"></script>
<script src="bootstrap/js/bootstrap-alert.js"></script>
<script src="bootstrap/js/bootstrap-modal.js"></script>
<script src="bootstrap/js/bootstrap-transition.js"></script>
<script src="bootstrap/js/bootstrap-tooltip.js"></script>

我已经查看了Bootstrap示例的源代码,在那里的任何地方都看不到任何启动工具提示的东西。所以我猜它应该可以工作,还是我错过了一些重要的东西?

我有模态和警报和其他东西工作得很好,所以我不是一个完全的白痴;)

谢谢你的帮助!


总而言之:使用jQuery选择器激活工具提示

<script type="text/javascript">
    $(function () {
        $("[rel='tooltip']").tooltip();
    });
</script>

事实上,你不需要使用属性选择器,你可以在任何元素上调用它,即使它的标签中没有rel="tooltip"。


我已经在头部添加了jquery和bootstrap-tooltip.js。在脚注中添加此代码对我有用!但是当我在标题中添加相同的代码时,它不起作用!

<script type="text/javascript">
$('.some-class').tooltip({ selector: "a" });
</script>

将代码放入文档中

$(document).ready(function () {
    if ($("[rel=tooltip]").length) {
        $("[rel=tooltip]").tooltip();
    }
});

在我的情况下,我也错过了http://twitter.github.com/bootstrap/assets/css/bootstrap.css上的css类工具提示 儿子,别忘了这一点。


你不需要分开所有的js文件

如果你打算使用所有的引导函数,只需使用以下文件:

-bootstrap.css
-bootstrap.js

它们都可以在http://twitter.github.com上找到 最后 -最新版本的jquery.js


对于Glyphicons,您需要图像

Glyphicons-halfings.png和/或glyphicons-halfings-white.png(白色图像) 你需要在你的网站的/img/文件夹内上传(或)存储在任何你想要的地方,但在bootstrap.css内更改文件夹目录


对于工具提示,您需要在您的 <head> </head>标签

  <script type='text/javascript'>
     $(document).ready(function () {
     if ($("[rel=tooltip]").length) {
     $("[rel=tooltip]").tooltip();
     }
   });
  </script>

就是这样……


使用最新的Jquery库,如果你使用最新的bootstrap 2.0.4和Jquery -1.7.2.js,你不需要任何Jquery选择器

只需使用rel="tooltip" title="Your title " data-placement=" " "

根据您的意愿在数据放置中使用顶部/底部/左/右。


如果使用Rails+Haml更容易包含工具提示,请执行以下操作:

= link_to '', some_path(), :class => "btn btn-success btn-mini icon-plane", :rel => "tooltip", :title => "Referential Guide"

这就是在元素的末尾添加下面的行。

:rel => "tooltip", :title => "Referential Guide"

在我的特殊情况下,它没有工作,因为我包含了两个版本的jQuery。一个用于引导,另一个(另一个版本)用于谷歌图表。

当我移除图表的jQuery加载时,它工作得很好。


工具提示和弹出窗口不仅仅是css插件,比如下拉菜单或进度条。要使用工具提示和弹出窗口,你必须使用jquery(阅读javascript)激活它们。

假设我们想要在点击html按钮时显示一个弹出窗口。

<a href="#" role="button" 
     class="btn popovers-to-be-activated" 
     title="" data-content="And here's some amazing content." 
     data-original-title="A Title" "
>button</a>

然后你需要有以下javascript代码来激活弹出窗口:

$('.popovers-to-be-activated').popover();

实际上,上面的javascript代码将在所有具有类“popover -to- activated”的html元素上激活弹出窗口。

不用说,把上面的javascript放在DOM-ready回调中,一旦DOM准备好就激活所有弹出窗口:

$(function() {
 // Handler for .ready() called.
 $('.popovers-to-be-activated').popover();
});

如果你正在用javascript创建包含工具提示的html,然后将其插入到文档中,你必须在插入html到文档后激活弹出窗口/工具提示,而不是在文档加载时…


我知道这是一个老问题,但因为我有这个问题与新发布的引导,它在网站上不清楚,这里是如何启用工具提示。

给元素一个类似"tooltip-test"的类

然后在javascript标签中激活这个类:

<script type="text/javascript">
    $('.tooltip-test').tooltip();
</script>

<a href="#" class="tooltip-test" title="" data-original-title="Tooltip">This link</a>

If you do $("[rel='tooltip']").tooltip(); as other answers have suggested then you will activate tooltips only on elements that are currently there in DOM. That means if you are going to change DOM and insert dynamic content later it won't work. Also this is much less efficient because it installs event handler for individual elements as opposed to using JQuery event delegation. So the best way I've found to activate Bootstrap tooltips is this one line of code that you can place in document ready and forget about it:

$(document.body).tooltip({ selector: "[title]" });

注意,我使用title作为选择器,而不是rel=title或data-title。这有一个优点,它可以应用于许多其他元素(rel应该只适用于锚),而且它也可以作为旧浏览器的“备用”。

还要注意,如果你使用上述代码,你不需要data-toggle="tooltip"属性。

引导工具提示的开销很大,因为您需要处理每个元素上的鼠标事件。这就是为什么默认情况下他们没有启用它的原因。因此,如果你决定在上面一行注释,你的页面仍然可以工作,如果你使用标题属性。

如果你可以不使用title属性,那么我建议使用纯CSS解决方案,如Hint.css或检查http://csstooltip.com,这根本不需要任何JavaScript代码。


你必须把工具提示javascript放在html后面。像这样:

<a href="#" rel="tooltip" title="Title Here"> I am Here</a>

<script>
$("* [rel='tooltip']").tooltip({
   html: true, 
   placement: 'bottom'
});

</script> 

或者使用$(document)。准备好:

$(document).ready(function() {

$("* [rel='tooltip']").tooltip({
   html: true, 
   placement: 'bottom'
});

});

</script>

工具提示不工作,因为你把工具提示html放在javascript之前,所以他们不知道是否有一个javascript的工具提示。在我看来,剧本是从头到尾读的。


在遇到同样的问题后,我发现这个解决方案可以工作,无需在Bootstrap所需属性之外添加额外的标记属性。

HTML

<a href="#" data-toggle="tooltip" title="Title Here">Hyperlink Text</a>

JQuery

$(document).ready(function() {
    $("body").tooltip({ selector: '[data-toggle=tooltip]' });
});

HTML

<a href="#" data-toggle="tooltip" title="Title Here">Hyperlink Text</a>

JQuery

$(document).ready(function() {
    $('[data-toggle=tooltip]').tooltip();
}); 

这是我的工作。


我有一个类似的问题,特别是如果你运行在一个按钮容器,如垂直按钮容器。在这种情况下你必须将容器设置为" body "

I have added a jsfiddle example

例子


这是最简单的方法。 把这个放在</body>之前:

<script type="text/javascript">
    $("[data-toggle=\"tooltip\"]").tooltip();
</script>

查看Bootstrap文档中给出的关于工具提示的示例。

例如:

<a href="#"
   data-toggle="tooltip"
   data-placement="bottom"
   title="Tooltip text here">Link with tooltip</a>

我只是补充了一句:

<script src="http://getbootstrap.com/assets/js/docs.min.js"></script>

在bootstrap.min.js下面,它可以工作。


在头部部分,您需要首先添加以下代码

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<script>
$(document).ready(function(){
   $('[data-toggle="tooltip"]').tooltip();   
});
</script>

然后在body部分中,您需要编写以下代码

<p>The data-placement attribute specifies the tooltip position.</p>
<ul class="list-inline">
<li><a href="#" data-toggle="tooltip" data-placement="top" title="Hooray!">Top</a></li>
<li><a href="#" data-toggle="tooltip" data-placement="bottom" title="Hooray!">Bottom</a></li>
<li><a href="#" data-toggle="tooltip" data-placement="left" title="Hooray!">Left</a></li>
<li><a href="#" data-toggle="tooltip" data-placement="right" title="Hooray!">Right</a></li>


让我们使用一个示例来展示如何将工具提示添加到文档中的任何HTML元素中。

注意:

如果在将这些工具提示示例放入页面时它们不起作用,那么您将遇到另一个问题。你需要考虑以下几点:

The order of scripts being included See if you are trying to initialize HTML elements that have been removed See if you are trying to call methods in JS files you are no longer including See if you are including the JS file that provides the functionality you need (not just for tooltips, but any components you use on the page). <head> <link rel="stylesheet" href="/Content/bootstrap.css" /> <link rel="stylesheet" href="/Content/animate.css" /> <link rel="stylesheet" href="/Content/style.css" /> </head> <body> ... your HTML code ... <script src="/Scripts/jquery-2.1.1.js"></script> <script src="/Scripts/bootstrap.min.js"></script> <script src="/Scripts/app/inspinia.js"></script> <!-- if using INSPINIA --> ... your JavaScript initializers ... </body>

上述任何一项的失败都可能(而且经常)阻止javascript的加载和/或运行,并保持一切良好和破碎。

工作的例子

假设您有一个徽章,当用户将鼠标悬停在它上面时,您希望它显示一个工具提示。

原始HTML:

<span class="badge badge-sm badge-plain">Admin Mode</span>

普通引导工具提示

如果您正在为HTML元素创建工具提示,并且您正在使用Plain Bootstrap工具提示,那么您将负责使用自己的JavaScript代码调用工具提示初始化器。

之前

<span class="badge badge-sm badge-plain">Admin Mode</span>

<span 
    class="badge badge-sm badge-plain" 
    data-toggle="tooltip" 
    data-placement="right" 
    title="Tooltip on right" 
 >Admin Mode</span>

初始化器

<script>
    // Initialize any Tooltip on this page
    $(document).ready(function () 
        {
            $('[data-toggle="tooltip"]').tooltip();
        }
    );
</script>

引导模板提示(如INSPINIA)

如果你正在使用一个引导模板(比如INSPINIA),你需要包含一个支持脚本来支持模板特性:

    <script src="/Scripts/app/inspinia.js" />

在INSPINIA的情况下,当文档加载完成时,所包含的脚本通过运行以下javascript代码自动初始化所有工具提示:

// Tooltips demo
$('.tooltip-demo').tooltip({
    selector: "[data-toggle=tooltip]",
    container: "body"
});

因此,您不必自己初始化inspina样式的工具提示。但是你必须以特定的方式格式化你的元素。初始化器在class属性中查找带有tooltip-demo的HTML元素,然后调用tooltip()方法来初始化定义了属性data-toggle="tooltip"的任何子元素。

对于我们的示例徽章,在它周围放置一个具有class="tooltip-demo"的外部元素(如<div>或<span>),然后在作为徽章的元素中放置实际工具提示的数据切换、数据放置和标题属性。从上面修改原始HTML,使其看起来像这样:

之前

<span class="badge badge-sm badge-plain">Admin Mode</span>

<span class="tooltip-demo">
    <span 
        class="badge badge-sm badge-plain" 
        data-toggle="tooltip" 
        data-placement="right" 
        title="Tooltip on right" 
     >Admin Mode</span>
</span>

初始化器

None

注意,<span class="tooltip-demo">元素中的任何子元素都将正确地准备它们的工具提示。我可以有三个子元素,它们都需要工具提示,并将它们放在一个容器中。

多个项目,每个都有一个工具提示

<span class="tooltip-demo">
    <span class="badge badge-sm badge-plain" data-toggle="tooltip" data-placement="right" title="A Tooltip">Text 001</span>
    <span class="badge badge-sm badge-plain" data-toggle="tooltip" data-placement="right" title="Another Tooltip">Text 002</span>
    <span class="badge badge-sm badge-plain" data-toggle="tooltip" data-placement="right" title="Third Tooltip">Text 003</span>
</span>

最好的用法是将class="tooltip-demo"添加到<td>或最外层的<div>或<span>中。

使用模板时使用普通引导提示

如果使用INSPINIA,但不想添加额外的外部<div>或<span>标记来创建工具提示,则可以使用标准的引导提示,而不会干扰模板。在这种情况下,您将自己负责初始化工具提示。但是,应该在class属性中使用自定义值来标识工具提示项。这将防止工具提示初始化器干扰受INSPINIA影响的元素。在我们的例子中,让我们使用standalone-tt:

之前

<span class="badge badge-sm badge-plain">Admin Mode</span>

<span 
    class="standalone-tt badge badge-sm badge-plain" 
    data-toggle="tooltip" 
    data-placement="right" 
    title="Tooltip on right" 
 >Admin Mode</span>

初始化器

<script>
    // Initialize MY standalone tooltips, ignoring INSPINIA-affected elements
    $(document).ready(function () 
        {
            $('.standalone-tt').tooltip();
        }
    );
</script>

http://getbootstrap.com/javascript/#tooltips-usage

可选功能 出于性能考虑,工具提示和弹出窗口数据api是可选择的,这意味着

您必须自己初始化它们。

初始化页面上所有工具提示的一种方法是通过它们的data-toggle属性选择它们:

<script>
$(function () {
    $('[data-toggle="tooltip"]').tooltip()
})
</script>

将这段代码放在HTML中可以使用工具提示

例子:

<!-- button -->
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button>

<!-- a tag -->
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a>

快速和更轻的选择Bootstrap工具提示插件:

HTML:

<div>
    <div class="mytooltip" id="pwdLabel">
        <label class="control-label" for="password">Password</label>

        <div class="mytooltiptext" id="pwdLabel_tttext">
            6 characters long, must include letters and numbers
        </div>                                

    </div>

    <input type="password" name="password" value="" id="password" autocomplete="off"
           class="form-control" 
           style="width:125px" />
</div>

CSS:

<style>
    .mytooltiptext {
        position: absolute;
        left: 0px;
        top: -45px;
        background-color: black;
        color: white;
        border: 1px dashed silver;
        padding:3px;
        font-size: small;
        text-align: center;
    }

    .mytooltip {
        position: relative;
    }

    .mytooltip label {
        border-bottom: 1px dashed black !important;
    }
</style>

JSCRIPT:

$(".mytooltip").mouseover(function(){
    var elm = this.id;
    $("#" + elm + "_tttext").fadeIn("slow");
});

var ttTmo;
$(".mytooltip").mouseout(function(){
    var elm = this.id;
    clearTimeout(ttTmo);
    ttTmo = setTimeout(function(){
        $("#" + elm + "_tttext").fadeOut("slow");
    },3000);
}); 

标签/文本必须包含在类“mytooltip”的包装器中,该包装器必须有一个Id。

标签之后是工具提示文本,包装在类“mytooltiptext”的div中,id由父包装器的id +“_tttext”组成。可以使用其他选择器选项。

希望能有所帮助。


您需要完成以下操作。添加

<script type="text/javascript">
    $(function () {
        $("[rel='tooltip']").tooltip();
    });
</script>

在页面的某处编写代码(最好是在<head>部分)。

还可以添加data-toggle: "tooltip"到任何你想启用它的地方。


添加data-toggle="tooltip"在你想要的任何元素的工具提示。


从工具提示上的引导文档

由于性能原因,工具提示是可选择的,因此必须自己初始化它们。 初始化页面上所有工具提示的一种方法是根据它们的数据-选择它们 切换属性:

  $('[data-toggle="tooltip"]').tooltip()

你可以使用Popper.js

<script src="JavaScript/popper.min.js"></script>
<script src="JavaScript/bootstrap.min.js"></script>

并调用tooltip函数:

$('document').ready(function(){
    $('[data-toggle=tooltip]').tooltip();
});

Bootstrap 5.2 (2022)

有人想实现新的引导工具提示吗

步骤1

包括js

<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>

步骤2

包括这个脚本

$(document).ready(function(){
    $('[data-bs-toggle="tooltip"]').tooltip()
})

为什么? 因为文档这么说:https://getbootstrap.com/docs/5.2/components/tooltips/#overview

由于性能原因,工具提示是可选择的,因此必须自己初始化它们。

步骤3

在代码中包含data-b -toggle="tooltip"。

<a href="#" data-bs-toggle="tooltip" title="A nice tooltip">test</a>