Source

Popisky

Dokumentace a příklady pro přidávání vlastních tipů nástrojů Bootstrap s CSS a JavaScript pomocí CSS3 pro animace a datové atributy pro místní úložiště titulků.

Přehled

Co byste měli vědět při používání pluginu tooltip:

  • Popisky se při určování polohy spoléhají na knihovnu Popper.js třetí strany . Aby popisky fungovaly, musíte před bootstrap.js zahrnout popper.min.js nebo použít bootstrap.bundle.min.js/ bootstrap.bundle.jskterý obsahuje Popper.js!
  • Pokud vytváříte náš JavaScript ze zdroje, vyžadujeutil.js .
  • Popisky jsou z důvodu výkonu volitelné, takže je musíte inicializovat sami .
  • Popisky s názvy nulové délky se nikdy nezobrazují.
  • Určete container: 'body', abyste se vyhnuli problémům s vykreslováním ve složitějších komponentách (jako jsou naše vstupní skupiny, skupiny tlačítek atd.).
  • Spouštění popisků u skrytých prvků nebude fungovat.
  • Popisky pro prvky .disablednebo disabledmusí být spuštěny na prvku obálky.
  • Při spuštění z hypertextových odkazů, které zahrnují více řádků, budou popisky nástrojů vycentrovány. Chcete-li se tomuto chování vyhnout, použijte white-space: nowrap;na svém s.<a>
  • Před odstraněním příslušných prvků z modelu DOM musí být popisy nástrojů skryty.

Máš to všechno? Skvělé, podívejme se, jak fungují s některými příklady.

Příklad: Povolit popisky všude

Jedním ze způsobů, jak inicializovat všechny popisky na stránce, je vybrat je podle jejich data-toggleatributu:

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

Příklady

Umístěním kurzoru na níže uvedené odkazy zobrazíte popisky:

Úzké kalhoty další úrovně keffiyeh pravděpodobně jste o nich neslyšeli. Fotobudka vousy raw denim knihtisk vegan messenger bag stumptown. Osmibitové americké oblečení z farmy na stůl seitan, mcsweeney's fixie z udržitelné quinoy má vinylový chambray z froté richardson. Beard stumptown, cardigany banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, čtyři loko mcsweeney's cleanse vegan chambray. Skutečně ironický řemeslník bez ohledu na klíč , scénárista z farmy na stůl banky Austin twitter zvládá freeganský cred raw denim single-origin coffee viral.

Umístěním ukazatele myši na níže uvedená tlačítka zobrazíte čtyři směry popisků: nahoře, vpravo, dole a vlevo.

<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>

A s přidaným vlastním 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>

Používání

Plugin tooltip generuje obsah a označení na vyžádání a ve výchozím nastavení umísťuje popisky za jejich spouštěcí prvek.

Spusťte popis pomocí JavaScriptu:

$('#example').tooltip(options)
Přetečení autoascroll

Umístění popisku se pokusí automaticky změnit, když má nadřazený kontejner overflow: autonebo se mu overflow: scrolllíbí naše .table-responsive, ale stále zachovává původní umístění umístění. Chcete-li to vyřešit, nastavte boundaryvolbu na jinou než výchozí hodnotu, 'scrollParent'například 'window':

$('#example').tooltip({ boundary: 'window' })

Označení

Požadované označení pro popis je pouze dataatribut a titlena prvku HTML chcete mít popis. Vygenerované označení popisku je poměrně jednoduché, i když vyžaduje pozici (ve výchozím nastavení topje pluginem nastavena na hodnotu).

Jak zajistit, aby popisky fungovaly pro uživatele klávesnice a asistenčních technologií

Popisky byste měli přidávat pouze k prvkům HTML, které jsou tradičně zaměřeny na klávesnici a jsou interaktivní (jako jsou odkazy nebo ovládací prvky formuláře). Ačkoli lze libovolné prvky HTML (například <span>s) upravit tak, aby bylo možné zaměřit přidáním tabindex="0"atributu, přidá to uživatelům klávesnice potenciálně nepříjemné a matoucí zarážky tabulátoru na neinteraktivních prvcích. Většina asistenčních technologií navíc v současné době v této situaci neoznamuje popisek.

Kromě toho se nespoléhejte pouze na hoverto, že spouštěcí nápověda bude spouštět, protože to znemožní spuštění vašich bublin pro uživatele klávesnice.

<!-- 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>

Zakázané prvky

Prvky s disabledatributem nejsou interaktivní, což znamená, že uživatelé se na ně nemohou zaměřit, umístit na ně ukazatel myši nebo na ně kliknout, aby vyvolali nápovědu (nebo vyskakovací okno). Jako náhradní řešení budete chtít spouštět nápovědu z obálky <div>nebo <span>, v ideálním případě nastavit tak, aby bylo možné zaměřit se na klávesnici pomocí tabindex="0", a přepsat pointer-eventsprvek na zakázaném prvku.

<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>

Možnosti

Možnosti lze předávat prostřednictvím atributů dat nebo JavaScriptu. U atributů dat připojte název volby k data-, jako v data-animation="".

název Typ Výchozí Popis
animace booleovský skutečný Použijte přechod zeslabování CSS na popisek
kontejner řetězec | prvek | Nepravdivé Nepravdivé

Připojí popisek ke konkrétnímu prvku. Příklad: container: 'body'. Tato možnost je užitečná zejména v tom, že vám umožňuje umístit bublinovou nápovědu do toku dokumentu poblíž spouštěcího prvku – což zabrání tomu, aby se nápověda při změně velikosti okna vzdálila od spouštěcího prvku.

zpoždění číslo | objekt 0

Zpoždění zobrazení a skrytí popisku (ms) – nevztahuje se na typ ručního spouštění

Pokud je zadáno číslo, použije se prodleva pro skrytí/zobrazení

Struktura objektu je:delay: { "show": 500, "hide": 100 }

html booleovský Nepravdivé

Povolit HTML v popisku.

Pokud je true, značky HTML v popisku titlese vykreslí v popisku. Pokud je nepravda, textk vložení obsahu do DOM se použije metoda jQuery.

Pokud se obáváte útoků XSS, použijte text.

umístění řetězec | funkce 'horní'

Jak umístit nápovědu - auto | nahoru | dole | vlevo | že jo.
Když autoje zadáno, dynamicky změní orientaci popisku.

Když je k určení umístění použita funkce, je volána s nápovědou uzel DOM jako prvním argumentem a spouštěcím prvkem uzlem DOM jako druhým. Kontext thisje nastaven na instanci popisku.

volič řetězec | Nepravdivé Nepravdivé Pokud je k dispozici selektor, objekty popisků budou delegovány na zadané cíle. V praxi se to používá k umožnění přidávání vyskakovacích oken do dynamického obsahu HTML. Podívejte se na tento a informativní příklad .
šablona tětiva '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'

Základní HTML pro použití při vytváření popisku.

Popisek titlebude vložen do souboru .tooltip-inner.

.arrowse stane šipkou popisku.

Nejvzdálenější prvek obalu by měl mít .tooltiptřídy a role="tooltip".

titul řetězec | prvek | funkce ''

Výchozí hodnota názvu, pokud titleatribut není přítomen.

Pokud je zadána funkce, bude volána se svou thisreferenční sadou na prvek, ke kterému je připojena nápověda.

spoušť tětiva 'zaostření po najetí myší'

Jak se spouští nápověda - klikněte | vznášet se | zaměření | manuál. Můžete předat více spouštěčů; oddělte je mezerou.

'manual'označuje, že popis bude spuštěn programově pomocí metod .tooltip('show'), .tooltip('hide')a ; .tooltip('toggle')tuto hodnotu nelze kombinovat s žádným jiným spouštěčem.

'hover'sám o sobě povede k nápovědám, které nelze spustit pomocí klávesnice, a měly by být používány pouze v případě, že existují alternativní metody pro předávání stejných informací uživatelům klávesnice.

offset číslo | tětiva 0 Odsazení popisku vzhledem k jeho cíli. Další informace naleznete v dokumentech offsetu Popper.js .
záložní umístění řetězec | pole 'flip' Umožněte určit, jakou pozici bude Popper používat při nouzovém režimu. Další informace naleznete v dokumentech chování Popper.js
hranice řetězec | živel 'scrollParent' Hranice omezení přetečení popisku. Přijímá hodnoty 'viewport', 'window', 'scrollParent'nebo odkaz HTMLElement (pouze JavaScript). Další informace naleznete v dokumentech preventOverflow Popper.js .

Atributy dat pro jednotlivé popisky

Volby pro jednotlivé popisky lze alternativně specifikovat pomocí atributů dat, jak je vysvětleno výše.

Metody

Asynchronní metody a přechody

Všechny metody API jsou asynchronní a zahajují přechod . Vrátí se k volajícímu, jakmile je přechod zahájen, ale před jeho ukončením . Kromě toho bude ignorováno volání metody na přechodové komponentě .

Další informace naleznete v naší dokumentaci k JavaScriptu.

$().tooltip(options)

Připojí obslužný program popisku ke kolekci prvků.

.tooltip('show')

Zobrazí popisek prvku. Vrátí se k volajícímu dříve, než se nápověda skutečně zobrazila (tj. než dojde k shown.bs.tooltipudálosti). Toto je považováno za „ruční“ spuštění popisku. Popisky s názvy nulové délky se nikdy nezobrazují.

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

.tooltip('hide')

Skryje popisek prvku. Vrátí se k volajícímu dříve, než byl popis nástroje skutečně skryt (tj. než dojde k hidden.bs.tooltipudálosti). Toto je považováno za „ruční“ spuštění popisku.

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

.tooltip('toggle')

Přepíná popisek prvku. Vrátí se k volajícímu dříve, než byl popis nástroje skutečně zobrazen nebo skryt (tj. než dojde k události shown.bs.tooltipnebo ). hidden.bs.tooltipToto je považováno za „ruční“ spuštění popisku.

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

.tooltip('dispose')

Skryje a zničí popisek prvku. Popisky, které používají delegování (které jsou vytvořeny pomocí volby ) selector, nelze jednotlivě zničit na podřízených spouštěcích prvcích.

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

.tooltip('enable')

Umožňuje zobrazení popisku prvku. Popisky jsou ve výchozím nastavení povoleny.

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

.tooltip('disable')

Odebere možnost zobrazení popisku prvku. Popisek bude možné zobrazit pouze v případě, že bude znovu povolen.

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

.tooltip('toggleEnabled')

Přepíná možnost zobrazení nebo skrytí popisku prvku.

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

.tooltip('update')

Aktualizuje polohu popisku prvku.

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

Události

Typ události Popis
zobrazit.bs.popisek Tato událost se spustí okamžitě při showvolání metody instance.
zobrazený.bs.popisek Tato událost se spustí, když je popis zviditelněn pro uživatele (bude čekat na dokončení přechodů CSS).
hide.bs.tooltip Tato událost se spustí okamžitě po hidezavolání metody instance.
skrytý.bs.popisek Tato událost se spustí, když skončí skrytí popisku před uživatelem (bude čekat na dokončení přechodů CSS).
vložená.bs.tooltip Tato událost se spustí po show.bs.tooltipudálosti, kdy byla šablona popisku přidána do modelu DOM.
$('#myTooltip').on('hidden.bs.tooltip', function () {
  // do something…
})