带有Twitter Bootstrap的工具提示

我正在使用Twitter Bootstrap – 而且我不是前端开发人员! 但是,这个过程几乎让我敢说 – 好玩!

我对工具提示有点困惑。 它们在文档中被覆盖,但是Twitter承担一些知识。 例如,他们说用以下JavaScript代码触发工具提示。

$('#example').tooltip(options) 

在仔细研究他们的源代码之后,我意识到带有工具提示的字段需要放在一个类中,并运行以下代码。

 $('.tooltipclass').tooltip(options) 

但是现在我的问题是,为什么Twitter Bootstrap不提供这样的类tooltip呢? 只是为了让更多的configuration? 将tooltips中的各个元素添加到tooltipclass是否tooltipclass ?还是应该将周围区域添加到tooltipclass ? 如果我使用类标识符( .class )而不是名称标识符( #name ),这有什么关系吗?

我认为你的问题归结为设置你的工具提示时使用什么适当的select器,并且答案几乎是任何你想要的。 如果你想使用一个类来触发你的工具提示,你可以这样做,例如:

 <a href="#" class="link" data-original-title="first tooltip">Hover me for a tooltip</a> 

然后,您可以触发链接为.link类的所有链接,如下所示:

 $('.link').tooltip() 

现在,为了回答你的问题,为什么bootstrap开发者没有使用类来触发工具提示,因为它不是完全需要的,你几乎可以使用任何你想要定位你的工具提示的select器,比如(我个人最喜欢的) rel属性。 有了这个属性,你可以将所有的链接或元素的rel属性设置为tooltip ,如下所示:

 $('[rel=tooltip]').tooltip() 

你的链接看起来像这样:

 <a href="#" rel="tooltip" data-original-title="first tooltip">Hover me for a tooltip</a> 

当然,您也可以使用容器类或id来将您的工具提示定位到特定容器中,您希望使用特定选项将其单独提取出来,或者与其他内容分离,并且可以像这样使用它:

 $('#example').tooltip({ selector: "a[rel=tooltip]" }) 

这个select器将把你的#example div中的rel属性的所有工具提示作为目标,这样你就可以将特殊的样式或选项单独添加到该部分。 总之,你几乎可以使用任何有效的select器来定位你的工具提示,并且不需要使用额外的类来标记你的标记来定位它们。

使用这个最简单的方法是

把这个在标题中:

 <script> $(function ($) { $("a").tooltip() }); </script> 

接着

 <a href="#" rel="tooltip" data-placement="bottom" title="My Tooltip Text"> My link text </a> 

所以用这个js代码,如果你有标签的任何地方在你的页面rel="tooltip"得到引导工具提示。

祝你好运。

将此添加到您的标题

 <script> //tooltip $(function() { var tooltips = $( "[title]" ).tooltip(); $(document)(function() { tooltips.tooltip( "open" ); }); }); </script> 

然后,只需将属性title="your tooltip"到任何元素

我包括JS和CSS文件,并想知道为什么它不工作,是什么使它的工作是当我在<head>添加以下内容:

 <script> jQuery(function ($) { $("a").tooltip() }); </script> 

只需标记所有的数据切换…

 jQuery(function () { jQuery('[data-toggle=tooltip]').tooltip(); }); 

http://jsfiddle.net/Amged/xUQ6D/19/

这是因为这些东西(我的意思是工具提示等)是jQuery插件。 是的,他们承担了关于jQuery的一些基本知识。 我build议你至less要查找一个关于jQuery的基本教程。

你将永远必须定义哪些元素应该有一个工具提示。 我不明白为什么Bootstrap应该提供这个类,你定义了这些类或者你自己。 也许你是希望bootstrap自动产生了一些魔力? 然而,这种魔法也会导致很多问题(不需要的副作用)。

这个魔法可以很容易地实现,只需写$(".myclass").tooltip() ,这行代码确实是你想要的。 你唯一要做的就是将myclass类附加到那些需要应用tooltip的元素上。 (只要确保在加载DOM后运行该代码行,请参见下文)。

 $(document).ready(function() { $(".myclass").tooltip(); }); 

编辑:显然你不能使用类的工具提示 (可能是因为它在某个地方内部使用!)。

我只是想知道为什么bootstrap不运行你指定的代码,我可以包括一些类。

你想要的东西产生几乎相同的代码,你必须做现在。 然而他们没有那么做的最大原因是因为它造成了很多麻烦。 一个人想把它分配给一个带ID的元素; 别人想把它分配给具有指定类名的元素; 而另外一些人则希望通过一些select过程将其分配给一个指定的元素。 这3个选项会导致额外的复杂性,而它已经由jQuery提供。 我还没有看到许多插件做你想要的(只是因为它是不必要的,它并不能保存你的代码)。

简单的使用这个:

 <a href="#" id="mytooltip" class="btn btn-praimary" data-toggle="tooltip" title="my tooltip"> tooltip </a> 

使用jQuery:

 $(document).ready(function(){ $('#mytooltip').tooltip(); }); 

你可以左侧的工具提示你可以简单的添加this->data-placement="left"

 <a href="#" id="mytooltip" class="btn btn-praimary" data-toggle="tooltip" title="my tooltip" data-placement="left">tooltip</a>