Bootstrap 提示工具

提示工具(Tooltip)是鼠标悬停时弹出的简短说明气泡,常用来解释图标按钮、缩写词或表单字段的含义。它与下拉、模态框不同:不会随 data 属性自动初始化,必须先手动调用一次 tooltip(),这是最容易踩的坑。

先初始化再使用

页面加载完成后,对所有带 data-toggle="tooltip" 的元素统一初始化一次:

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

说明:tooltip 需要测量定位,Bootstrap 刻意要求显式初始化;漏掉这一步气泡就不会出现。

基础用法

触发元素加 data-toggle="tooltip",提示文字写在 title 中:

<button type="button" class="btn btn-default"
    data-toggle="tooltip" title="删除这条记录">
    删除
</button>

显示效果:鼠标悬停在"删除"按钮上,按钮上方浮现深色小气泡"删除这条记录",移开后消失。

控制气泡位置

data-placement 指定方向,四个方向皆可:

<button data-toggle="tooltip" data-placement="top" title="顶部提示">上</button>
<button data-toggle="tooltip" data-placement="bottom" title="底部提示">下</button>
<button data-toggle="tooltip" data-placement="left" title="左侧提示">左</button>
<button data-toggle="tooltip" data-placement="right" title="右侧提示">右</button>

显示效果:气泡分别出现在对应方向并带小箭头;写成 auto 时浏览器会自动选择空间充足的一侧。

常用选项

初始化时传入对象可细调行为:

<script>
$('#detail').tooltip({
    placement: 'auto',              // 空间不足自动换方向
    html: true,                     // 允许 title 中包含 HTML
    delay: { show: 300, hide: 100 } // 延迟显示/隐藏
});
</script>

说明:其他常用选项还有 trigger(默认 hover focus)、title、animation、container 等;开启 html 后 title 里可写链接或小图。

编程式 API

气泡也可用方法手动控制,并监听显示周期事件:

<script>
$('#detail').tooltip('show');   // 显示气泡
$('#detail').tooltip('hide');   // 隐藏气泡
$('#detail').tooltip('toggle'); // 切换状态
$('#detail').on('shown.bs.tooltip', function () {
    // 气泡完全显示后触发,可在此做统计
});
</script>

小结:tooltip 三步走——先 $('[data-toggle="tooltip"]').tooltip() 初始化,再用 title 写文字、data-placement 定方向;进阶时通过选项对象和 show/hide/toggle 方法精确控制。

笔记加载中…