带有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(); });
这是因为这些东西(我的意思是工具提示等)是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>