文章の目录

  • 1、概述
  • 2、Example: Enable tooltips everywhere
  • 3、示例
  • 4、用法
    • 4.1、Markup
    • 4.2、禁用元素
    • 4.3、选项
    • 4.4、方法
      • 4.4.1、$().tooltip(options)
      • 4.4.2、.tooltip('show')
      • 4.4.3、.tooltip('hide')
      • 4.4.4、.tooltip('toggle')
      • 4.4.5、.tooltip('dispose')
      • 4.4.6、.tooltip('enable')
      • 4.4.7、.tooltip('disable')
      • 4.4.8、.tooltip('toggleEnabled')
      • 4.4.9、.tooltip('update')
    • 4.5、事件
  • 写在最后

使用CSS和JavaScript添加自定义Bootstrap工具提示,使用CSS3动画和本地标题存储的数据属性的文档和示例。

1、概述

使用tooltip插件时需要知道的事情

  • 工具提示依赖于第三方库Popper进行定位。你必须在bootstrap.js之前包含popper .min.js或使用bootstrap.bundle.min.js/bootstrap.bundle.js,其中包含Popper以便工具提示工作;
  • 如果您从源代码构建我们的JavaScript,它需要util.js
  • 出于性能原因,工具提示是可选择的,因此您必须自己初始化它们。
  • 标题长度为零的工具提示永远不会显示
  • 指定container:'body'以避免在更复杂的组件(如输入组、按钮组等)中呈现问题。
  • 触发隐藏元素的提示将不起作用。
  • disabled或disabled元素的工具提示必须在包装器元素上触发。
  • 当从跨越多行的超链接触发时,工具提示将居中。使用white-space:nowrap;}在<a>上避免此行为。
  • 工具提示必须在它们对应的元素从DOM中移除之前隐藏起来。
  • 由于阴影DOM中的一个元素,工具提示可以被触发。

默认情况下,该组件使用内置的内容杀毒程序,它会删除不被显式允许的任何HTML元素。
该组件的动画效果依赖于preferred -reduced-motion media查询。

得到了所有吗?很好,让我们通过一些例子来看看它们是如何工作的。

2、Example: Enable tooltips everywhere

初始化页面上所有工具提示的一种方法是通过它们的data-toggle属性来选择它们

$(function () {$('[data-toggle="tooltip"]').tooltip()
})

3、示例

将鼠标悬停在下面的链接上,可以看到工具提示

将鼠标悬停在下面的按钮上,可以看到四个工具提示方向:顶部、右侧、底部和左侧。

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left
</button>


并且添加了自定义HTML

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">Tooltip with HTML
</button>

4、用法

工具提示插件根据需要生成内容和标记,并默认将工具提示放置在触发器元素之后。

通过JavaScript触发工具提示

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

Overflow auto and scroll
当父容器overflow:autooverflow: scroll时,工具提示位置尝试自动改变,就像我们的.table-responsive一样,但仍然保持原来的放置位置。要解决这个问题,请将边界选项设置为除默认值'scrollParent'以外的任何值,例如'window'
$('#example').tooltip({ boundary: 'window' })

4.1、Markup

工具提示所需的标记只是您希望拥有工具提示的HTML元素上的一个数据属性和标题。工具提示生成的标记相当简单,尽管它需要一个位置(默认情况下,由插件设置为top)。

让工具提示为键盘和辅助技术用户工作
您应该只将工具提示添加到传统的键盘聚焦和交互的HTML元素(如链接或表单控件)。尽管通过添加tabindex="0"属性可以使任意HTML元素(例如<span>)可聚焦,但这将为键盘用户在非交互式元素上添加潜在的恼人和令人困惑的标签,目前大多数辅助技术在这种情况下不会宣布工具提示。此外,不要仅仅依赖悬停作为工具提示的触发器,因为这将使你的工具提示无法被键盘用户触发。

<!-- HTML to write -->
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a><!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip"><div class="arrow"></div><div class="tooltip-inner">Some tooltip text!</div>
</div>

4.2、禁用元素

具有禁用属性的元素不具有互动性,这意味着用户不能聚焦、悬停或单击它们来触发工具提示(或弹出窗口)。作为一种解决方案,您可能希望从包装器<div><span>触发工具提示,理想情况下使用tabindex="0"使其可用于键盘聚焦,并覆盖禁用元素上的指针事件。

<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="Disabled tooltip"><button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

4.3、选项

选项可以通过数据属性或JavaScript传递。对于数据属性,将选项名称附加到data-,如data-animation=""

注意,出于安全原因,不能使用数据属性提供sanitize, sanititizefn和whiteList选项。

单个工具提示的数据属性
如上所述,还可以通过使用数据属性来指定各个工具提示的选项。

4.4、方法

异步方法和转换
所有API方法都是异步的,并开始转换。它们在转换开始后立即返回给调用者,但在转换结束前返回。此外,对转换组件的方法调用将被忽略。

4.4.1、$().tooltip(options)

将工具提示处理程序附加到元素集合。

4.4.2、.tooltip(‘show’)

显示一个元素的工具提示。在工具提示实际显示之前返回给调用者(即在shown.bs.tooltip事件发生之前)。这被认为是工具提示的手动触发。标题长度为零的工具提示永远不会显示。

$('#element').tooltip('show')

4.4.3、.tooltip(‘hide’)

隐藏元素的工具提示。在工具提示被隐藏之前返回给调用者(即hidden.bs.tooltip事件发生之前)。这被认为是工具提示的手动触发。

$('#element').tooltip('hide')

4.4.4、.tooltip(‘toggle’)

切换元素的工具提示。在工具提示实际显示或隐藏之前返回给调用者(即在shown.bs.tooltiphidden.bs.tooltip事件发生之前)。这被认为是工具提示的手动触发。

$('#element').tooltip('toggle')

4.4.5、.tooltip(‘dispose’)

隐藏和销毁一个元素的工具提示。使用委托(使用选择器选项创建)的工具提示不能在后代触发器元素上单独销毁。

$('#element').tooltip('dispose')

4.4.6、.tooltip(‘enable’)

为元素的工具提示提供显示的功能。工具提示默认是启用的。

$('#element').tooltip('enable')

4.4.7、.tooltip(‘disable’)

移除显示元素工具提示的功能。工具提示只有在重新启用时才能显示。

$('#element').tooltip('disable')

4.4.8、.tooltip(‘toggleEnabled’)

切换显示或隐藏元素工具提示的功能。

$('#element').tooltip('toggleEnabled')

4.4.9、.tooltip(‘update’)

更新元素工具提示的位置。

$('#element').tooltip('update')

4.5、事件

$('#myTooltip').on('hidden.bs.tooltip', function () {// do something...
})

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

Bootstrap系列之工具提示框(Tooltips)相关推荐

  1. Bootstrap系列之模态框(Modal)

    文章の目录 1.工作原理 2.示例 2.1.Modal组件 2.2.在线演示 2.3.静态背景 2.4.滚动内容 2.5.垂直居中 2.6.提示和弹窗 2.7.使用网格 2.8.不同模态框的内容 2. ...

  2. Bootstrap系列之警告框(Alert)

    文章の目录 1.示例 1.1.链接的颜色 1.2.添加其它内容 1.3.关闭警告框 2.通过 JavaScript 触发行为 2.1.触发器 2.2.本组件所暴露的方法 2.3.本组件所暴露的事件 写 ...

  3. ASP.NET MVC使用Bootstrap系列(3)——使用Bootstrap 组件

    Bootstrap为我们提供了十几种的可复用组件,包括字体图标.下拉菜单.导航.警告框.弹出框.输入框组等.在你的Web Application中使用这些组件,将为用户提供一致和简单易用的用户体验. ...

  4. bootstrap中的模态框(modal,弹出层)

    bootstrap中的模态框(modal),不同于Tooltips,模态框以弹出对话框的形式出现,具有最小和最实用的功能集. 务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 b ...

  5. 去掉BootStrap的错误弹框信息

    去掉BootStrap的错误弹框信息 找到jquery.dataTables.js,修改如下

  6. Bootstrap:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  7. bootstrap select下拉框模糊搜索和动态绑定数据解决方法

    bootstrap select下拉框模糊搜索和动态绑定数据解决方法 参考文章: (1)bootstrap select下拉框模糊搜索和动态绑定数据解决方法 (2)https://www.cnblog ...

  8. 基于Bootstrap的下拉框多选 Bootstrap Multiselect 插件使用

    基于Bootstrap的下拉框多选插件 Bootstrap Multiselect 的使用方法 1.首先去下载代码:https://github.com/davidstutz/bootstrap-mu ...

  9. JS组件Bootstrap实现弹出框和提示框效果代码

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  10. Bootstrap智能消息提示框

    Bootstrap智能消息提示框. "我觉得操作成功后,需要一个弹出提示框",客户说. "需要吗?我觉得没必要,错误的时候提示,成功时自动跳转就行了!",我弱弱 ...

最新文章

  1. 【错误记录】Android Studio 编译报错 ( Invalid Gradle JDK configuration found )
  2. python 惰性_Python学习---django惰性机制
  3. drf实现常用数据缓存
  4. html-----020----事件
  5. HDU 6047 Maximum Sequence
  6. shell编辑crontab任务
  7. 《测试驱动开发》读书笔记
  8. 三十岁前不要去在乎的18件事
  9. repo/git提交代码
  10. MFC异形窗口-多边形窗口-根据图片自定义窗口形状-CRgn
  11. Ubuntu 18.04截屏
  12. 苏州大学在职研究生计算机专业,苏州大学在职研究生有哪些专业?
  13. JS下载文件、图片,JS打包下载
  14. 微信小程序android和IOS拨打电话区别
  15. 2014.7.8 第一天学习hfss13
  16. thinkPHP基于php的枣院二手图书交易系统--php-计算机毕业设计
  17. AndroidManifest.xml中常用属性及含义
  18. 用java实现文档加密解密
  19. 音乐社会计算机英语,计算机音乐技术应用,Computer music technology application,音标,读音,翻译,英文例句,英语词典...
  20. Python解析GPGGA报文_统计数据完整率

热门文章

  1. python创建一个列表、依次存放每个月对应的天数_python计算天数
  2. 基于Python的网络爬虫与数据可视化分析
  3. ws office excel 基础公式
  4. Java多线程系列--【JUC锁08】-共享锁和ReentrantReadWriteLock
  5. niosii spi 外部_【笔记】NIOS II spi详解
  6. Python的崛起,百万程序员被影响?真相……
  7. 保研计算机三级,保研干货 | 这些证书手中有,凡尔赛路任你走
  8. 指纹识别、图形识别、aliOCR 识别
  9. mysql全称量词_MySQL操作记录的方法集合,供以后查看
  10. 如何使用 CSS 设置 HTML 表格样式