Mine põhisisu juurde Jätke dokumentide navigeerimise juurde
in English

Tööriistanõuanded

Dokumentatsioon ja näited kohandatud Bootstrapi tööriistavihjete lisamiseks CSS-i ja JavaScriptiga, kasutades CSS3 animatsioonide jaoks ja data-bs-atribuute kohaliku pealkirja salvestamiseks.

Ülevaade

Mida peaksite tööriistavihje pistikprogrammi kasutamisel teadma:

  • Tööriistanäpunäited toetuvad positsioneerimiseks kolmanda osapoole teegile Popper . Tööriistanäpunäidete toimimiseks peate lisama popper.min.js enne bootstrap.js-i või funktsiooni bootstrap.bundle.min.js/ bootstrap.bundle.js, mis sisaldab Popperit!
  • Tööriistanäpunäited on toimivuse huvides lubatud, seega peate need ise lähtestama .
  • Nullpikkusega pealkirjadega vihjeid ei kuvata kunagi.
  • Määrake container: 'body', et vältida renderdamisprobleeme keerukamates komponentides (nt meie sisendrühmad, nupurühmad jne).
  • Peidetud elementide tööriistavihjete käivitamine ei tööta.
  • Ümbriselemendil tuleb käivitada tööriistaspikrid .disabledvõi disabledelementide jaoks.
  • Kui käivitatakse mitut rida hõlmavate hüperlinkide kaudu, tsentreeritakse kohtspikrid. Sellise käitumise vältimiseks kasutage white-space: nowrap;seda oma peal .<a>
  • Tööriistavihjed peavad olema peidetud enne, kui nende vastavad elemendid on DOM-ist eemaldatud.
  • Tööriistanäpunäiteid saab käivitada tänu vari-DOM-i sees olevale elemendile.
Vaikimisi kasutab see komponent sisseehitatud sisupuhastusvahendit, mis eemaldab kõik HTML-i elemendid, mis pole otseselt lubatud. Lisateavet leiate meie JavaScripti dokumentatsiooni desinfitseerimisvahendite jaotisest .
Selle komponendi animatsiooniefekt sõltub prefers-reduced-motionmeediumipäringust. Vaadake meie juurdepääsetavuse dokumentatsiooni vähendatud liikumise jaotist .

Kas teil on see kõik? Suurepärane, vaatame mõne näitega, kuidas need töötavad.

Näide: lubage tööriistaspikrid kõikjal

Üks viis lehe kõigi tööriistavihjete lähtestamiseks on valida need nende data-bs-toggleatribuudi järgi:

var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
  return new bootstrap.Tooltip(tooltipTriggerEl)
})

Näited

Tööriistanäpunäidete nägemiseks hõljutage kursorit allolevate linkide kohal.

Kohatäidetekst, et näidata mõningaid tekstisiseseid linke koos kohtspikritega. See on nüüd lihtsalt täiteaine, mitte tapja. Sisu, mis on siia paigutatud lihtsalt tegeliku teksti jäljendamiseks . Ja seda kõike vaid selleks, et anda teile aimu, kuidas näeksid tööriistavihjed välja reaalsetes olukordades. Loodetavasti olete nüüd näinud, kuidas need linkide tööriistanäpunäited praktikas toimivad, kui olete neid oma saidil või projektis kasutanud.

Hõljutage kursorit allolevate nuppude kohal, et näha nelja tööriistaspikri suunda: ülemine, parem, alumine ja vasak. Kui kasutate RTL-is Bootstrapi, siis juhiseid peegeldatakse.

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

Ja kohandatud HTML-iga lisatud:

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

SVG-ga:

Sass

Muutujad

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

Kasutamine

Tööriistavihje pistikprogramm loob nõudmisel sisu ja märgistuse ning asetab vaikimisi vihjed nende päästikuelemendi järele.

Käivitage kohtspikker JavaScripti kaudu:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Ülevool autojascroll

Tööriistavihje positsiooni üritatakse automaatselt muuta, kui ülemkonteineris on meie ümbris overflow: autovõi overflow: scrollmeeldib .table-responsivesellele, kuid säilitab siiski algse paigutuse asukoha. Selle lahendamiseks määrake boundarysuvand (suvandit kasutava flip modifikaatori jaoks popperConfig) suvalisele HTMLElementile, et alistada vaikeväärtus 'clippingParents', näiteks document.body:

var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
  boundary: document.body // or document.querySelector('#boundary')
})

Märgistus

Tööriistaspikri nõutav märgistus on ainult dataatribuut ja titleHTML-elemendil, mille kohta soovite vihjet, on. Tööriistaspikri loodud märgistus on üsna lihtne, kuigi see nõuab positsiooni (vaikimisi topon pistikprogrammi poolt määratud).

Tööriistanäpunäidete kasutamine klaviatuuri ja abitehnoloogia kasutajatele

Peaksite lisama ainult HTML-i elementidele vihjeid, mis on traditsiooniliselt klaviatuurile keskenduvad ja interaktiivsed (nt lingid või vormi juhtelemendid). Kuigi suvalisi HTML-i elemente (nt <span>s) saab tabindex="0"atribuudi lisamisega fokusseeritavaks muuta, lisab see klaviatuurikasutajatele potentsiaalselt tüütuid ja segadusse ajavaid tabelduspunkte mitteinteraktiivsetele elementidele ning enamik abitehnoloogiaid ei anna praegu selles olukorras tööriistavihjet teada. Lisaks ärge toetuge ainult hovertööriistaspikri käivitajale, kuna see muudab teie vihjete käivitamise klaviatuuri kasutajatel võimatuks.

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

Keelatud elemendid

Atribuudiga elemendid disabledei ole interaktiivsed, mis tähendab, et kasutajad ei saa kohtspikri (või hüpikakna) käivitamiseks teravustada, hõljutada või klõpsata. Lahendusena võiksite käivitada tööriistaspikri ümbrisest <div>või <span>ideaaljuhul klaviatuurile teravustatavast, kasutades 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>

Valikud

Valikud saab edastada andmeatribuutide või JavaScripti kaudu. Andmeatribuutide jaoks lisage valiku nimi data-bs-, nagu data-bs-animation="". Andmeatribuutide kaudu suvandite edastamisel muutke kindlasti valiku nime täpitüüp camelCase asemel kebab-case. Näiteks kasutage selle asemel data-bs-customClass="beautifier", et kasutada data-bs-custom-class="beautifier".

Pange tähele, et turvakaalutlustel ei saa andmeatribuutide abil anda suvandeid sanitize, sanitizeFnja suvandeid.allowList
Nimi Tüüp Vaikimisi Kirjeldus
animation tõeväärtus true Rakendage kohtspikrile CSS-i tuhmumise üleminek
container string | element | vale false

Lisab kohtspikri konkreetsele elemendile. Näide: container: 'body'. See suvand on eriti kasulik, kuna see võimaldab teil asetada kohtspikri dokumendi voos käivitava elemendi lähedale – see takistab tööriistaspikril akna suuruse muutmise ajal käivitavast elemendist eemale hõljuma.

delay number | objektiks 0

Tööriistavihje kuvamise ja peitmise viivitus (ms) – ei kehti käsitsi käivitamise tüübi puhul

Kui number on esitatud, rakendatakse viivitust mõlemale peitmisele/näitamisele

Objekti struktuur on järgmine:delay: { "show": 500, "hide": 100 }

html tõeväärtus false

Luba kohtspikris HTML.

titleKui see on tõene, renderdatakse kohtspikrites olevad HTML-sildid kohtspikris. Kui see on väär, innerTextkasutatakse atribuuti sisu DOM-i sisestamiseks.

Kui olete XSS-i rünnakute pärast mures, kasutage teksti.

placement string | funktsiooni 'top'

Kuidas paigutada kohtspikker – auto | ülemine | alumine | vasakule | õige.
Kui autoon määratud, suunab see kohtspikri dünaamiliselt ümber.

Kui funktsiooni kasutatakse paigutuse määramiseks, kutsutakse see välja, mille esimeseks argumendiks on tööriistavihje DOM-sõlm ja teiseks käivitava elemendi DOM-sõlm. Kontekst thismääratakse kohtspikri eksemplarile.

selector string | vale false Kui valija on ette nähtud, delegeeritakse tööriistavihje objektid määratud sihtmärkidele. Praktikas kasutatakse seda ka tööriistavihjete rakendamiseks dünaamiliselt lisatud DOM-i elementidele ( jQuery.ontugi). Vaadake seda ja informatiivset näidet .
template string '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'

Algne HTML, mida kasutada kohtspikri loomisel.

Tööriistavihje titlesüstitakse .tooltip-inner.

.tooltip-arrowmuutub tööriistaspikri nooleks.

Äärepoolsel ümbriselemendil peaks olema .tooltipklass ja role="tooltip".

title string | element | funktsiooni ''

Pealkirja vaikeväärtus, kui titleatribuuti pole.

Kui funktsioon on antud, kutsutakse see välja koos thisviitega, mis on seatud elemendile, millele tööriistaspikker on lisatud.

trigger string 'hover focus'

Kuidas tööriistavihje käivitatakse – klõpsake | hõljuda | keskenduda | manuaal. Võite läbida mitu päästikut; eraldage need tühikuga.

'manual'näitab, et kohtspikker käivitatakse programmiliselt meetodite ja kaudu .show(); seda väärtust ei saa kombineerida ühegi teise päästikuga..hide().toggle()

'hover'üksinda põhjustab vihjeid, mida ei saa klaviatuuri kaudu käivitada, ja neid tuleks kasutada ainult siis, kui on olemas alternatiivsed meetodid sama teabe edastamiseks klaviatuuri kasutajatele.

fallbackPlacements massiivi ['top', 'right', 'bottom', 'left'] Määratlege varupaigutused, esitades massiivi paigutuste loendi (eelistuse järjekorras). Lisateabe saamiseks vaadake Popperi käitumisdokumente
boundary string | element 'clippingParents' Tööriistaspikri ülevoolupiirangu piir (kehtib ainult Popperi preventOverflow modifikaatorile). Vaikimisi on see 'clippingParents'ja võib aktsepteerida HTMLElementi viidet (ainult JavaScripti kaudu). Lisateavet leiate Popperi detectOverflow dokumentidest .
customClass string | funktsiooni ''

Lisage kohtspikrile klassid, kui see kuvatakse. Pange tähele, et need klassid lisatakse lisaks mallis määratud klassidele. Mitme klassi lisamiseks eraldage need tühikutega: 'class-1 class-2'.

Saate edastada ka funktsiooni, mis peaks tagastama ühe stringi, mis sisaldab täiendavaid klassinimesid.

sanitize tõeväärtus true Lubage või keelake desinfitseerimine. Kui see on aktiveeritud 'template', 'title'siis suvandid desinfitseeritakse. Vaadake meie JavaScripti dokumentatsiooni desinfitseerimisvahendi jaotist .
allowList objektiks Vaikeväärtus Objekt, mis sisaldab lubatud atribuute ja silte
sanitizeFn null | funktsiooni null Siin saate pakkuda oma desinfitseerimisfunktsiooni. See võib olla kasulik, kui eelistate desinfitseerimiseks kasutada spetsiaalset raamatukogu.
offset massiiv | string | funktsiooni [0, 0]

Tööriistavihje nihe selle sihtmärgi suhtes. Andmeatribuutides saate stringi edastada komadega eraldatud väärtustega, näiteks:data-bs-offset="10,20"

Kui funktsiooni kasutatakse nihke määramiseks, kutsutakse seda esile objektiga, mis sisaldab esimese argumendina popperi paigutust, viidet ja popper rects. Käivitav element DOM-sõlm edastatakse teise argumendina. Funktsioon peab tagastama kahe numbriga massiivi: .[skidding, distance]

Lisateabe saamiseks vaadake Popperi nihkedokumente .

popperConfig null | objekt | funktsiooni null

Bootstrapi Popperi vaikekonfiguratsiooni muutmiseks vaadake jaotist Popperi konfiguratsioon .

Kui Popperi konfiguratsiooni loomiseks kasutatakse funktsiooni, kutsutakse see välja objektiga, mis sisaldab Bootstrapi Popperi vaikekonfiguratsiooni. See aitab teil kasutada ja liita vaikeseadeid teie enda konfiguratsiooniga. Funktsioon peab Popperi jaoks tagastama konfiguratsiooniobjekti.

Andmete atribuudid üksikute kohtspikrite jaoks

Üksikute tööriistavihjete valikuid saab alternatiivselt määrata andmeatribuutide abil, nagu eespool selgitatud.

Funktsiooni kasutamine koospopperConfig

var tooltip = new bootstrap.Tooltip(element, {
  popperConfig: function (defaultBsPopperConfig) {
    // var newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

meetodid

Asünkroonsed meetodid ja üleminekud

Kõik API meetodid on asünkroonsed ja alustavad üleminekut . Nad naasevad helistaja juurde kohe pärast ülemineku algust, kuid enne selle lõppu . Lisaks ignoreeritakse üleminekukomponendi meetodikutset .

Lisateabe saamiseks vaadake meie JavaScripti dokumentatsiooni .

näidata

Näitab elemendi kohtspikri. Naaseb helistaja juurde enne, kui vihje on tegelikult näidatud (st enne shown.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks. Nullpikkusega pealkirjadega vihjeid ei kuvata kunagi.

tooltip.show()

peita

Peidab elemendi kohtspikri. Naaseb helistaja juurde enne, kui kohtspikker on tegelikult peidetud (st enne hidden.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks.

tooltip.hide()

lüliti

Lülitab elemendi kohtspikri sisse/välja. Naaseb helistaja juurde enne, kui kohtspikker on tegelikult näidatud või peidetud (st enne shown.bs.tooltipvõi hidden.bs.tooltipsündmuse toimumist). Seda peetakse kohtspikri "käsitsi" käivitamiseks.

tooltip.toggle()

käsutada

Peidab ja hävitab elemendi vihje (eemaldab DOM-elemendil salvestatud andmed). Delegeerimist kasutavaid tööriistavihjeid (mis luuakse suvandiga selector) ei saa järeltulijate päästikuelementide puhul eraldi hävitada.

tooltip.dispose()

lubada

Annab elemendi kohtspikrile võimaluse kuvada. Tööriistad on vaikimisi lubatud.

tooltip.enable()

keelata

Eemaldab elemendi kohtspikri kuvamise võimaluse. Tööriistavihjet saab kuvada ainult siis, kui see on uuesti lubatud.

tooltip.disable()

lülita Lubatud

Lülitab elemendi kohtspikri kuvamise või peitmise võimaluse.

tooltip.toggleEnabled()

värskendada

Värskendab elemendi kohtspikri asukohta.

tooltip.update()

getInstance

Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud kohtspikri eksemplari

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

getOrCreateInstance

Staatiline meetod, mis võimaldab teil saada DOM-i elemendiga seotud tööriistaspikri eksemplari või luua uue juhul, kui seda ei lähtestatud

var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance

Sündmused

Sündmuse tüüp Kirjeldus
show.bs.tooltip See sündmus käivitub kohe, kui showeksemplari meetod kutsutakse.
shown.bs.tooltip See sündmus käivitatakse, kui kohtspikker on kasutajale nähtavaks tehtud (ootab, kuni CSS-i üleminekud on lõpule viidud).
hide.bs.tooltip See sündmus käivitatakse kohe, kui hideeksemplari meetod on välja kutsutud.
hidden.bs.tooltip See sündmus käivitatakse, kui kohtspikker on kasutaja eest peitmise lõpetanud (ootab, kuni CSS-i üleminekud on lõpule viidud).
inserted.bs.tooltip See sündmus käivitatakse pärast show.bs.tooltipsündmust, kui kohtspikri mall on DOM-i lisatud.
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)

myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
  // do something...
})

tooltip.hide()