在 Bootstrap 文档页面中,工具提示具有以下签名:
<a href="#" data-toggle="tooltip" title="first tooltip">hover over me</a>
在这种情况下,“data-toggle”属性有什么作用?
我知道它对标签很有用,但我看不出它能给工具提示带来什么用处。
克里斯,
工具提示必须显式初始化,如下所示:
$(document).ready(function(){
$(".link").tooltip();
});
假设“a”标签有一个“链接”类。“data-toggle”属性对于工具提示正确运行不是必需的。但是您提到它是让 Bootstrap JavaScript 文件识别某些东西是否是工具提示。因此,省略“数据切换”仍然使工具提示起作用似乎没有意义(只要有显式初始化)。你能进一步解释一下吗?
编辑#2:
在阅读了一些 GitHub 问题页面后,我想我得出了以下结论(这是我最好的猜测)。
最初,在旧版本的 Bootstrap 中,工具提示签名是:
<a href="#" rel="tooltip" title="first tooltip">hover over me</a>
...
<a href="#" rel="tooltip" title="first tooltip">hover over me again!</a>
开发人员可以这样做:
$(document).ready(function(){
$('[rel="tooltip"]').tooltip();
});
一次激活所有工具提示(因为每个工具提示都需要初始化才能工作)。换句话说,这只是一种识别所有工具提示的便捷方式,以便您可以使用 jQuery 来激活所有工具提示。
但是 rel="tooltip" 没有针对 HTML5 进行验证,所以人们开始建议使用 data-toggle="tooltip" 因为 Bootstrap 已经将 data-toggle 用于其他组件并且 data-* 在 HTML5 中有效。
因此,我的猜测是 data-toggle="tooltip" 除了提供一种方便的方式来识别所有工具提示之外,没有特殊的语义含义或目的。
请注意,您也可以使用 ID 或类来识别工具提示,但为什么不一次激活所有工具提示(反问)?