Tooltips
Dokumentatioun an Beispiller fir personaliséiert Bootstrap Tooltips mat CSS a JavaScript ze addéieren mat CSS3 fir Animatiounen an Data-bs-Attributer fir lokal Titellagerung.
Iwwersiicht
Saachen ze wëssen wann Dir den Tooltip Plugin benotzt:
- Tooltips vertrauen op der Drëtt Partei Bibliothéik Popper fir positionéieren. Dir musst Popper.min.js virum bootstrap.js enthalen oder benotzen
bootstrap.bundle.min.js
/bootstrap.bundle.js
déi Popper enthält fir datt Tooltipps funktionnéieren! - Tooltips sinn opt-in aus Leeschtungsgrënn, also musst Dir se selwer initialiséieren .
- Tooltips mat Null-Längt Titelen ginn ni ugewisen.
- Spezifizéieren
container: 'body'
fir Rendering Probleemer a méi komplexe Komponenten ze vermeiden (wéi eis Inputgruppen, Knäppchengruppen, etc.). - Ausléiser Tooltips op verstoppte Elementer funktionnéieren net.
- Tooltips fir
.disabled
oderdisabled
Elementer muss op engem wrapper Element ausgeléist ginn. - Wann aus Hyperlinks ausgeléist gëtt, déi méi Zeilen spanen, ginn Tooltips zentréiert. Benotzt
white-space: nowrap;
op Är<a>
s dëst Verhalen ze vermeiden. - Tooltips musse verstoppt ginn ier hir entspriechend Elementer aus der DOM geläscht ginn.
- Tooltips kënnen ausgeléist ginn duerch en Element an engem Schied DOM.
prefers-reduced-motion
Medienufro of. Kuckt d'
Reduktiounsbewegungssektioun vun eiser Accessibilitéitsdokumentatioun .
Huet dat alles? Super, loosst eis kucken wéi se mat e puer Beispiller funktionnéieren.
Beispill: Aktivéiert Tooltips iwwerall
Ee Wee fir all Tooltipps op enger Säit ze initialiséieren wier se duerch hiren data-bs-toggle
Attribut ze wielen:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
Beispiller
Hover iwwer d'Links hei drënner fir Tooltipps ze gesinn:
Placeholder Text fir e puer Inline Links mat Tooltips ze demonstréieren. Dëst ass elo just Filler, kee Killer. Inhalt hei gesat just fir d'Präsenz vum richtegen Text ze mimikéieren . An dat alles just fir Iech eng Iddi ze ginn wéi Tooltips ausgesinn wann se an real-Welt Situatiounen benotzt ginn. Also hoffentlech hutt Dir elo gesinn wéi dës Tooltipps iwwer Linken an der Praxis funktionéiere kënnen, wann Dir se op Ärem eegene Site oder Projet benotzt.
Hover iwwer d'Knäppercher hei drënner fir déi véier Tooltips Richtungen ze gesinn: uewen, riets, ënnen a lénks. D'Richtunge gi gespigelt wann Dir Bootstrap an RTL benotzt.
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
Tooltip on left
</button>
A mat personaliséierten HTML dobäigesat:
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
Mat engem SVG:
Sass
Variablen
$tooltip-font-size: $font-size-sm;
$tooltip-max-width: 200px;
$tooltip-color: $white;
$tooltip-bg: $black;
$tooltip-border-radius: $border-radius;
$tooltip-opacity: .9;
$tooltip-padding-y: $spacer * .25;
$tooltip-padding-x: $spacer * .5;
$tooltip-margin: 0;
$tooltip-arrow-width: .8rem;
$tooltip-arrow-height: .4rem;
$tooltip-arrow-color: $tooltip-bg;
Benotzung
Den Tooltip Plugin generéiert Inhalt a Markup op Ufro, a setzt als Standard Tooltip no hirem Ausléiserelement.
Ausléiser den Tooltip iwwer JavaScript:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Iwwerschwemmung auto
anscroll
Tooltip Positioun probéiert automatesch z'änneren wann en Elterendeel Container huet overflow: auto
oder overflow: scroll
wéi eis .table-responsive
, awer hält ëmmer d'originell Plazéierungspositioun. Fir dëst ze léisen, setzt d' boundary
Optioun (fir de Flip-Modifier deen d' popperConfig
Optioun benotzt) op all HTMLElement fir de Standardwäert ze iwwerschreiden, 'clippingParents'
, wéi document.body
:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
Markup
Déi erfuerderlech Markup fir e Tooltip ass nëmmen en data
Attribut an title
am HTML Element wëllt Dir e Tooltip hunn. De generéierte Markup vun engem Tooltip ass zimmlech einfach, awer et erfuerdert eng Positioun (par défaut, top
vum Plugin gesat).
Maacht Tooltips fir Tastatur an Hëllefstechnologie Benotzer ze schaffen
Dir sollt nëmmen Tooltipps un HTML Elementer addéieren déi traditionell Tastatur fokusséierbar an interaktiv sinn (wéi Linken oder Form Kontrollen). Och wann arbiträr HTML Elementer (wéi <span>
s) fokusséierbar gemaach kënne ginn andeems d' tabindex="0"
Attribut bäigefüügt gëtt, wäert dëst potenziell lästeg a konfus Tabstoppen op net-interaktiven Elementer fir Tastatur Benotzer addéieren, an déi meescht Assistenztechnologien annoncéieren de Moment net den Tooltip an dëser Situatioun. Zousätzlech, vertrau net eleng op hover
den Ausléiser fir Ären Tooltip, well dëst wäert Är Tooltipps onméiglech maachen fir Tastatur Benotzer auszeléisen.
<!-- HTML to write -->
<a href="#" data-bs-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="tooltip-arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div>
Behënnert Elementer
Elementer mat dem disabled
Attribut sinn net interaktiv, dat heescht d'Benotzer kënnen net fokusséieren, hoveren oder klicken fir en Tooltip (oder Popover) auszeléisen. Als Léisung wëllt Dir den Tooltip aus engem Wrapper ausléisen <div>
oder <span>
, Idealfall gemaach Keyboard-fokusséierbar mat tabindex="0"
.
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
Optiounen
Optiounen kënnen iwwer Datenattributer oder JavaScript weidergeleet ginn. Fir Datenattributer, fügen d'Optiounsnumm un data-bs-
, wéi an data-bs-animation=""
. Vergewëssert Iech de Falltyp vun der Optiounsnumm vun CamelCase op Kebab-Case z'änneren wann Dir d'Optiounen iwwer Datenattributer passéiert. Zum Beispill, amplaz ze benotzen data-bs-customClass="beautifier"
, benotzt data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
, an d'
allowList
Optiounen net mat Datenattributer geliwwert kënne ginn.
Numm | Typ | Default | Beschreiwung |
---|---|---|---|
animation |
boolesch | true |
Fëllt en CSS Fade Iwwergank op den Tooltip un |
container |
streng | Element | falsch | false |
Fügt den Tooltip un e spezifescht Element un. Beispill |
delay |
Zuel | Objet | 0 |
Verspéidung vun der Tooltip (ms) ze weisen an ze verstoppen - gëllt net fir manuell Ausléisertyp Wann eng Zuel geliwwert gëtt, gëtt Verspéidung fir béid verstoppen / weisen applizéiert Objektstruktur ass: |
html |
boolesch | false |
Erlaabt HTML am Tooltip. Wann et richteg ass, ginn HTML-Tags an den Tooltip am Tooltip Benotzt Text wann Dir Iech Suergen iwwer XSS Attacken hutt. |
placement |
streng | Funktioun | 'top' |
Wéi positionéiert de Tooltip - Auto | erop | ënnen | lénks | riets. Wann eng Funktioun benotzt gëtt fir d'Placement ze bestëmmen, gëtt se mam Tooltip DOM Node als éischt Argument an dem Ausléiserelement DOM Node als zweet genannt. De |
selector |
streng | falsch | false |
Wann e Selektor zur Verfügung gestallt gëtt, ginn Tooltip-Objeten op déi spezifizéiert Ziler delegéiert. An der Praxis gëtt dëst benotzt fir Tooltipps och op dynamesch dobäigesate DOM Elementer ( jQuery.on Ënnerstëtzung) anzesetzen. Kuckt dëst an en informativt Beispill . |
template |
String | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Baséiert HTML fir ze benotzen wann Dir den Tooltip erstellt. D'Tooltip
Dat äusserst Wrapperelement soll d' |
title |
streng | Element | Funktioun | '' |
Standard Titelwäert wann Wann eng Funktioun uginn ass, gëtt se mat senger |
trigger |
String | 'hover focus' |
Wéi Tooltip ausgeléist gëtt - klickt | huel | konzentréieren | manuell. Dir kënnt verschidde Ausléiser passéieren; trennt se mat engem Raum.
|
fallbackPlacements |
Array | ['top', 'right', 'bottom', 'left'] |
Definéiert Fallbackplacementer andeems Dir eng Lëscht vu Placementer an der Array ubitt (an der Preferenzuerdnung). Fir méi Informatioun, kuckt op dem Popper seng Verhalensdokumenter |
boundary |
streng | element | 'clippingParents' |
Iwwerschwemmungsgrenze vum Tooltip (gëlt nëmme fir Popper's preventOverflow-Modifier). Par défaut ass et 'clippingParents' a kann eng HTMLElement Referenz akzeptéieren (nëmmen iwwer JavaScript). Fir méi Informatioun kuckt op Popper's detectOverflow docs . |
customClass |
streng | Funktioun | '' |
Füügt Klassen un den Tooltip wann et gewise gëtt. Bedenkt datt dës Klassen zousätzlech zu all Klassen, déi an der Schabloun uginn sinn, bäigefüügt ginn. Fir méi Klassen ze addéieren, trennt se mat Plazen Dir kënnt och eng Funktioun weiderginn, déi eng eenzeg String mat zousätzlech Klassennimm zréckginn soll. |
sanitize |
boolesch | true |
Aktivéiert oder deaktivéiert d'Sanéierung. Wann aktivéiert 'template' an 'title' Optiounen wäert sanitized. Kuckt de Sanitizer Sektioun an eiser JavaScript Dokumentatioun . |
allowList |
Objet | Default Wäert | Objet deen erlaabt Attributer an Tags enthält |
sanitizeFn |
null | Funktioun | null |
Hei kënnt Dir Är eege Sanitärfunktioun ubidden. Dëst kann nëtzlech sinn wann Dir léiwer eng speziell Bibliothéik benotze fir Sanéierung ze maachen. |
offset |
array | streng | Funktioun | [0, 0] |
Offset vum Tooltip relativ zu sengem Zil. Dir kënnt eng String an Datenattributer mat komma getrennte Wäerter passéieren wéi: Wann eng Funktioun benotzt gëtt fir d'Offset ze bestëmmen, gëtt se mat engem Objet genannt deen d'Popperplazéierung enthält, d'Referenz, a Popper-Rects als éischt Argument. Den Ausléiserelement DOM Node gëtt als zweet Argument weidergeleet. D'Funktioun muss eng Array mat zwou Zuelen zréckginn :. Fir méi Informatioun kuckt op dem Popper seng Offset Docs . |
popperConfig |
null | Objet | Funktioun | null |
Fir d'Standard Popper Configuratioun vum Bootstrap z'änneren, kuckt d' Popper Konfiguratioun . Wann eng Funktioun benotzt gëtt fir d'Popper Konfiguratioun ze kreéieren, gëtt se mat engem Objet genannt deen d'Standard Popper Konfiguratioun vum Bootstrap enthält. Et hëlleft Iech de Standard mat Ärer eegener Konfiguratioun ze benotzen an ze fusionéieren. D'Funktioun muss e Configuratiounsobjekt fir Popper zréckginn. |
Daten Attributer fir eenzel Tooltips
Optiounen fir eenzel Tooltips kënnen alternativ duerch d'Benotzung vun Datenattributer spezifizéiert ginn, wéi uewen erkläert.
Benotzt Funktioun matpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Methoden
Asynchron Methoden an Iwwergäng
All API Methoden sinn asynchron a starten en Iwwergang . Si ginn zréck op den Uruffer soubal den Iwwergang ugefaang ass, awer ier en eriwwer ass . Zousätzlech gëtt e Methodruff op eng Iwwergangskomponent ignoréiert .
weisen
Entdeckt den Tooltip vun engem Element. Gitt zréck op den Uruffer ier den Tooltip tatsächlech gewisen gouf (dh ier d' shown.bs.tooltip
Evenement geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Tooltip ugesinn. Tooltips mat Null-Längt Titelen ginn ni ugewisen.
tooltip.show()
verstoppen
Verstoppt den Tooltip vun engem Element. Gitt zréck op den Uruffer ier den Tooltip tatsächlech verstoppt gouf (dh ier d' hidden.bs.tooltip
Evenement geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Tooltip ugesinn.
tooltip.hide()
wiesselen
Wiesselt den Tooltip vun engem Element. Gitt zréck op den Uruffer ier den Tooltip tatsächlech gewisen oder verstoppt goufshown.bs.tooltip
( dh ier den hidden.bs.tooltip
Event geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Tooltip ugesinn.
tooltip.toggle()
entsuergen
Verstoppt an zerstéiert den Tooltip vun engem Element (läscht gespäichert Daten am DOM-Element). Tooltipps déi Delegatioun benotzen (déi mat der selector
Optioun erstallt ginn ) kënnen net individuell op Descendant Trigger Elementer zerstéiert ginn.
tooltip.dispose()
aktivéieren
Gëtt dem Tooltip vun engem Element d'Méiglechkeet ze weisen. Tooltips sinn als Standard aktivéiert.
tooltip.enable()
auszeschalten
Entfernt d'Fäegkeet fir den Tooltip vun engem Element ze weisen. Den Tooltip kann nëmme gewise ginn wann et nei ageschalt ass.
tooltip.disable()
toggleEnabled
Wiesselt d'Fäegkeet fir den Tooltip vun engem Element ze weisen oder ze verstoppen.
tooltip.toggleEnabled()
update
Aktualiséiert d'Positioun vum Tooltip vun engem Element.
tooltip.update()
getInstanz
Statesch Method déi Iech erlaabt d'Tooltip Instanz mat engem DOM Element assoziéiert ze kréien
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
Statesch Method déi Iech erlaabt d'Tooltip Instanz mat engem DOM Element assoziéiert ze kréien, oder en neien erstellen am Fall datt et net initialiséiert gouf
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
Evenementer
Event Typ | Beschreiwung |
---|---|
show.bs.tooltip |
Dëst Event brennt direkt wann d' show Instanzmethod genannt gëtt. |
shown.bs.tooltip |
Dëst Evenement gëtt ofgeléist wann den Tooltip fir de Benotzer siichtbar gemaach gouf (waart bis CSS Iwwergäng fäerdeg sinn). |
hide.bs.tooltip |
Dëst Evenement gëtt direkt gebrannt wann d' hide Instanzmethod genannt gouf. |
hidden.bs.tooltip |
Dëst Evenement gëtt ofgeléist wann den Tooltip fäerdeg ass vum Benotzer verstoppt ze ginn (waart op CSS Iwwergäng fir fäerdeg ze sinn). |
inserted.bs.tooltip |
Dëst Evenement gëtt nom show.bs.tooltip Event ofgeschaaft wann d'Tooltip Schabloun un d'DOM bäigefüügt gouf. |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()