Kurzinfos
Dokumentation und Beispiele zum Hinzufügen von benutzerdefinierten Bootstrap-Tooltips mit CSS und JavaScript unter Verwendung von CSS3 für Animationen und Datenattribute für die lokale Titelspeicherung.
Wissenswertes zur Verwendung des Tooltip-Plugins:
- Tooltips stützen sich zur Positionierung auf die Drittanbieterbibliothek Popper.js . Sie müssen popper.min.js vor bootstrap.js einfügen oder
bootstrap.bundle.min.js
/ verwendenbootstrap.bundle.js
, das Popper.js enthält, damit Tooltips funktionieren! - Wenn Sie unser JavaScript aus der Quelle erstellen
util.js
, ist . - QuickInfos sind aus Leistungsgründen optional, Sie müssen sie also selbst initialisieren .
- Tooltips mit leeren Titeln werden nie angezeigt.
- Geben Sie
container: 'body'
an, um Renderprobleme in komplexeren Komponenten (wie unseren Eingabegruppen, Schaltflächengruppen usw.) zu vermeiden. - Das Auslösen von QuickInfos auf ausgeblendeten Elementen funktioniert nicht.
- QuickInfos für
.disabled
oderdisabled
-Elemente müssen auf einem Wrapper-Element ausgelöst werden. - Wenn sie von Hyperlinks ausgelöst werden, die sich über mehrere Zeilen erstrecken, werden QuickInfos zentriert. Verwenden Sie
white-space: nowrap;
auf Ihren<a>
s, um dieses Verhalten zu vermeiden. - QuickInfos müssen ausgeblendet werden, bevor die entsprechenden Elemente aus dem DOM entfernt wurden.
Hast du das alles? Großartig, mal sehen, wie sie mit einigen Beispielen funktionieren.
Eine Möglichkeit, alle QuickInfos auf einer Seite zu initialisieren, besteht darin, sie anhand ihres data-toggle
Attributs auszuwählen:
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
Bewegen Sie den Mauszeiger über die folgenden Links, um QuickInfos anzuzeigen:
Enge Hosen der nächsten Stufe, keffiyeh , von denen hast du wahrscheinlich noch nie gehört. Photo Booth Beard Raw Denim Buchdruck vegane Umhängetasche stumptown. Farm-to-Table-Seitan, Mcsweeney's Fixie Sustainable Quinoa 8-Bit American Apparel haben einen Frottee-Richardson-Vinyl-Chabray. Bart Stumptown, Cardigans banh mi lomo Thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chabray. Ein wirklich ironischer Handwerker wie auch immer Keytar , Scenester Farm-to-Table Banksy Austin Twitter-Handle Freegan Cred Raw Denim Single-Origin-Kaffee viral.
Bewegen Sie den Mauszeiger über die Schaltflächen unten, um die vier QuickInfo-Richtungen anzuzeigen: oben, rechts, unten und links.
<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>
Und mit benutzerdefiniertem HTML hinzugefügt:
<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>
Das Tooltip-Plug-in generiert Inhalte und Markups nach Bedarf und platziert QuickInfos standardmäßig nach ihrem Auslöserelement.
Lösen Sie den Tooltip über JavaScript aus:
$('#example').tooltip(options)
Das erforderliche Markup für einen Tooltip ist nur ein data
Attribut und title
auf dem HTML-Element, das Sie haben möchten, ein Tooltip. Das generierte Markup eines Tooltips ist ziemlich einfach, erfordert jedoch eine Position (standardmäßig top
vom Plugin festgelegt).
QuickInfos für Benutzer von Tastaturen und Hilfstechnologien verwenden
Sie sollten QuickInfos nur zu HTML-Elementen hinzufügen, die traditionell über die Tastatur fokussierbar und interaktiv sind (z. B. Links oder Formularsteuerelemente). Obwohl beliebige HTML-Elemente (z. B. <span>
s) durch Hinzufügen des tabindex="0"
Attributs fokussierbar gemacht werden können, fügt dies potenziell lästige und verwirrende Tabstopps bei nicht interaktiven Elementen für Tastaturbenutzer hinzu. Darüber hinaus kündigen die meisten Hilfstechnologien den Tooltip in dieser Situation derzeit nicht an.
Verlassen Sie sich außerdem nicht ausschließlich auf hover
den Auslöser für Ihre QuickInfo, da dies Ihre QuickInfos für Tastaturbenutzer unmöglich machen wird.
<!-- 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>
Elemente mit dem disabled
Attribut sind nicht interaktiv, was bedeutet, dass Benutzer sie nicht fokussieren, mit der Maus bewegen oder darauf klicken können, um eine QuickInfo (oder ein Popover) auszulösen. Als Problemumgehung sollten Sie den Tooltip von einem Wrapper <div>
oder auslösen <span>
, der idealerweise mit der Tastatur fokussierbar gemacht wird tabindex="0"
, und das pointer-events
auf dem deaktivierten Element überschreiben.
<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>
Optionen können über Datenattribute oder JavaScript übergeben werden. Hängen Sie für Datenattribute den Optionsnamen an data-
, wie in data-animation=""
.
Name | Typ | Standard | Beschreibung |
---|---|---|---|
Animation | boolesch | Stimmt | Wenden Sie einen CSS-Fade-Übergang auf die QuickInfo an |
Container | Zeichenfolge | Element | FALSCH | FALSCH | Hängt den Tooltip an ein bestimmtes Element an. Beispiel: |
Verzögerung | Zahl | Objekt | 0 | Verzögerung beim Anzeigen und Ausblenden des Tooltips (ms) – gilt nicht für den manuellen Triggertyp Wenn eine Nummer angegeben wird, wird die Verzögerung sowohl auf das Ausblenden als auch auf das Anzeigen angewendet Objektstruktur ist: |
html | boolesch | FALSCH | HTML im Tooltip zulassen. Wenn wahr, werden HTML-Tags in den QuickInfos in der QuickInfo Verwenden Sie Text, wenn Sie sich Sorgen über XSS-Angriffe machen. |
Platzierung | Zeichenfolge | Funktion | 'oben' | So positionieren Sie den Tooltip - auto | Nach oben | unten | links | Rechts. Wenn eine Funktion verwendet wird, um die Platzierung zu bestimmen, wird sie mit dem Tooltip-DOM-Knoten als erstem Argument und dem auslösenden Element-DOM-Knoten als zweitem Argument aufgerufen. Der |
Wähler | Zeichenfolge | FALSCH | FALSCH | Wenn ein Selektor bereitgestellt wird, werden QuickInfo-Objekte an die angegebenen Ziele delegiert. In der Praxis wird dies verwendet, um dynamischen HTML-Inhalten das Hinzufügen von Popovern zu ermöglichen. Siehe dies und ein informatives Beispiel . |
Schablone | Schnur | '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>' |
Basis-HTML, das beim Erstellen der QuickInfo verwendet werden soll. Die Tooltips
Das äußerste Wrapper-Element sollte die |
Titel | Zeichenfolge | Element | Funktion | '' | Standardtitelwert, wenn Wenn eine Funktion angegeben wird, wird sie aufgerufen, wobei ihre |
Abzug | Schnur | "Hover-Fokus" | Wie der Tooltip ausgelöst wird – klicken Sie auf | schweben | Fokus | Handbuch. Sie können mehrere Auslöser passieren; Trennen Sie sie mit einem Leerzeichen.
|
versetzt | Zahl | Schnur | 0 | Versatz des Tooltips relativ zu seinem Ziel. Weitere Informationen finden Sie in der Offset -Dokumentation von Popper.js . |
FallbackPlatzierung | Zeichenfolge | Reihe | 'umdrehen' | Geben Sie an, welche Position Popper beim Fallback verwenden wird. Weitere Informationen finden Sie in der Verhaltensdokumentation von Popper.js |
Grenze | Zeichenfolge | Element | 'scrollParent' | Überlaufbeschränkungsgrenze der QuickInfo. Akzeptiert die Werte von 'viewport' , 'window' , 'scrollParent' , oder eine HTMLElement-Referenz (nur JavaScript). Weitere Informationen finden Sie in der Datei preventOverflow von Popper.js . |
Datenattribute für einzelne Tooltips
Optionen für einzelne Tooltips können alternativ, wie oben erläutert, durch die Verwendung von Datenattributen spezifiziert werden.
Asynchrone Methoden und Übergänge
Alle API-Methoden sind asynchron und starten einen Übergang . Sie kehren zum Aufrufer zurück, sobald der Übergang gestartet wird, aber bevor er endet . Außerdem wird ein Methodenaufruf einer Übergangskomponente ignoriert .
Weitere Informationen finden Sie in unserer JavaScript-Dokumentation.
Fügt einen Tooltip-Handler an eine Elementsammlung an.
Reveals an element’s tooltip. Returns to the caller before the tooltip has actually been shown (i.e. before the shown.bs.tooltip
event occurs). This is considered a “manual” triggering of the tooltip. Tooltips with zero-length titles are never displayed.
$('#element').tooltip('show')
Hides an element’s tooltip. Returns to the caller before the tooltip has actually been hidden (i.e. before the hidden.bs.tooltip
event occurs). This is considered a “manual” triggering of the tooltip.
$('#element').tooltip('hide')
Toggles an element’s tooltip. Returns to the caller before the tooltip has actually been shown or hidden (i.e. before the shown.bs.tooltip
or hidden.bs.tooltip
event occurs). This is considered a “manual” triggering of the tooltip.
$('#element').tooltip('toggle')
Hides and destroys an element’s tooltip. Tooltips that use delegation (which are created using the selector
option) cannot be individually destroyed on descendant trigger elements.
$('#element').tooltip('dispose')
Gives an element’s tooltip the ability to be shown. Tooltips are enabled by default.
$('#element').tooltip('enable')
Removes the ability for an element’s tooltip to be shown. The tooltip will only be able to be shown if it is re-enabled.
$('#element').tooltip('disable')
Toggles the ability for an element’s tooltip to be shown or hidden.
$('#element').tooltip('toggleEnabled')
Updates the position of an element’s tooltip.
$('#element').tooltip('update')
Event Type | Description |
---|---|
show.bs.tooltip | This event fires immediately when the show instance method is called. |
shown.bs.tooltip | This event is fired when the tooltip has been made visible to the user (will wait for CSS transitions to complete). |
hide.bs.tooltip | Dieses Ereignis wird sofort ausgelöst, wenn die hide Instanzmethode aufgerufen wurde. |
versteckt.bs.tooltip | Dieses Ereignis wird ausgelöst, wenn der Tooltip vor dem Benutzer ausgeblendet wurde (wartet, bis die CSS-Übergänge abgeschlossen sind). |
eingefügt.bs.tooltip | Dieses Ereignis wird nach dem show.bs.tooltip Ereignis ausgelöst, wenn die QuickInfo-Vorlage zum DOM hinzugefügt wurde. |
$('#myTooltip').on('hidden.bs.tooltip', function () {
// do something…
})