- Tooltips
- Overview
- Example: Enable tooltips everywhere
- Examples
- Usage
- Markup
- Disabled elements
- Options
- Data attributes for individual tooltips
- Methods
- Asynchronous methods and transitions
- $().tooltip(options)
- .tooltip(‘show’)
- .tooltip(‘hide’)
- .tooltip(‘toggle’)
- .tooltip(‘dispose’)
- .tooltip(‘enable’)
- .tooltip(‘disable’)
- .tooltip(‘toggleEnabled’)
- .tooltip(‘update’)
- Events
Tooltips
Documentation and examples for adding custom Bootstrap tooltips with CSS and JavaScript using CSS3 for animations and data-attributes for local title storage.
Overview
Things to know when using the tooltip plugin:
- Tooltips rely on the 3rd party library Popper.js for positioning. You must include popper.min.js before bootstrap.js or use bootstrap.bundle.min.js / bootstrap.bundle.js which contains Popper.js in order for tooltips to work!
- If you’re building our JavaScript from source, it requires util.js .
- Tooltips are opt-in for performance reasons, so you must initialize them yourself.
- Tooltips with zero-length titles are never displayed.
- Specify container: ‘body’ to avoid rendering problems in more complex components (like our input groups, button groups, etc).
- Triggering tooltips on hidden elements will not work.
- Tooltips for .disabled or disabled elements must be triggered on a wrapper element.
- When triggered from hyperlinks that span multiple lines, tooltips will be centered. Use white-space: nowrap; on your s to avoid this behavior.
- Tooltips must be hidden before their corresponding elements have been removed from the DOM.
Got all that? Great, let’s see how they work with some examples.
Example: Enable tooltips everywhere
One way to initialize all tooltips on a page would be to select them by their data-toggle attribute:
$(function () $('[data-toggle="tooltip"]').tooltip() >)
Examples
Hover over the links below to see tooltips:
Tight pants next level keffiyeh you probably haven’t heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney’s fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney’s cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.
Hover over the buttons below to see the four tooltips directions: top, right, bottom, and left.
type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top"> Tooltip on top type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right"> Tooltip on right type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom"> Tooltip on bottom type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left"> Tooltip on left
And with custom HTML added:
type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="Tooltip with HTML"> Tooltip with HTML
Usage
The tooltip plugin generates content and markup on demand, and by default places tooltips after their trigger element.
Trigger the tooltip via JavaScript:
Overflow auto and scroll
Tooltip position attempts to automatically change when a parent container has overflow: auto or overflow: scroll like our .table-responsive , but still keeps the original placement’s positioning. To resolve, set the boundary option to anything other than default value, ‘scrollParent’ , such as ‘window’ :
$('#example').tooltip( boundary: 'window' >)
Markup
The required markup for a tooltip is only a data attribute and title on the HTML element you wish to have a tooltip. The generated markup of a tooltip is rather simple, though it does require a position (by default, set to top by the plugin).
Making tooltips work for keyboard and assistive technology users
You should only add tooltips to HTML elements that are traditionally keyboard-focusable and interactive (such as links or form controls). Although arbitrary HTML elements (such as s) can be made focusable by adding the tabindex=»0″ attribute, this will add potentially annoying and confusing tab stops on non-interactive elements for keyboard users. In addition, most assistive technologies currently do not announce the tooltip in this situation.
Additionally, do not rely solely on hover as the trigger for your tooltip, as this will make your tooltips impossible to trigger for keyboard users.
href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me class="tooltip bs-tooltip-top" role="tooltip"> class="arrow">