Twitter Bootstrap的工具提示

sch*_*mmd 71 javascript twitter-bootstrap

我正在使用Twitter Bootstrap - 而且我不是前端开发人员!然而,它正在使这个过程 - 我敢说 - 有趣!

我对工具提示有点困惑.它们包含在文档中,但Twitter假设了一些知识.例如,他们说要使用以下JavaScript代码触发工具提示.

$('#example').tooltip(options)
Run Code Online (Sandbox Code Playgroud)

在浏览了它们的源代码之后,我意识到带有工具提示的字段需要在一个类中并运行以下代码.

$('.tooltipclass').tooltip(options)
Run Code Online (Sandbox Code Playgroud)

但现在我的问题是,为什么Twitter Bootstrap不能提供这样的课程tooltip?只是为了允许更大的配置?是否更好地使用工具提示添加单个元素tooltipclass,或者我应该添加周围区域tooltipclass?如果我使用类标识符(.class)而不是名称标识符(#name),这有关系吗?

And*_*ich 107

我认为你的问题归结为在设置工具提示时使用的正确选择器,答案几乎是你想要的.如果要使用类来触发工具提示,可以执行此操作,例如:

<a href="#" class="link" data-original-title="first tooltip">Hover me for a tooltip</a>
Run Code Online (Sandbox Code Playgroud)

然后你可以触发.link附加类作为工具提示的所有链接,如下所示:

$('.link').tooltip()
Run Code Online (Sandbox Code Playgroud)

现在,回答你的问题,为什么引导程序开发人员没有使用类来触发工具提示,因为它不是完全需要的,你几乎可以使用你想要定位工具提示的任何选择器,例如(我个人最喜欢的)的rel属性.使用此属性,您可以将rel属性设置为的所有链接或元素作为目标tooltip,如下所示:

$('[rel=tooltip]').tooltip() 
Run Code Online (Sandbox Code Playgroud)

你的链接看起来像这样:

<a href="#" rel="tooltip" data-original-title="first tooltip">Hover me for a tooltip</a>
Run Code Online (Sandbox Code Playgroud)

当然,您也可以使用容器类或ID来定位特定容器中的工具提示,该特定容器要使用特定选项进行挑选,或者与其他内容分开,您可以像这样使用它:

$('#example').tooltip({
    selector: "a[rel=tooltip]"
})
Run Code Online (Sandbox Code Playgroud)

此选择器将使用div中rel"属于"属性的所有工具提示作为目标#example,这样您就可以单独为该部分添加特殊样式或选项.简而言之,您几乎可以使用任何有效的选择器来定位您的工具提示,并且不需要使用额外的类来标记它们以标记它们.

  • 你可能不关心语义,但理想情况下`rel`最好保留用于那些目的,而`class`在这里可能会更好,请参阅http://stackoverflow.com/questions/15214776/dealing-with-non-semantic-uses-的-REL-在-RDFa的 (8认同)
  • 最好使用data-rel ="tooltip"而不是rel ="tooltip"来符合HTML标准. (3认同)
  • @schmmd我认为没有理由会出现性能损失,除非你有10万个工具提示可供选择,所以不用太担心它,它是一个属于CSS的属性选择器. (2认同)

M.R*_*ari 14

最简单的方法是使用它

把它放在标题中:

<script>
    $(function ($) {
        $("a").tooltip()
    });
</script>
Run Code Online (Sandbox Code Playgroud)

然后

<a href="#" rel="tooltip" data-placement="bottom" title="My Tooltip Text">
    My link text
</a>
Run Code Online (Sandbox Code Playgroud)

所以使用js代码,如果你有任何标记页面中的任何地方rel="tooltip"获得引导工具提示.

祝好运.


Rya*_*ria 5

将其添加到标题中

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

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