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
.disabled
võidisabled
elementide 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.
prefers-reduced-motion
meediumipä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-toggle
atribuudi 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 auto
jascroll
Tööriistavihje positsiooni üritatakse automaatselt muuta, kui ülemkonteineris on meie ümbris overflow: auto
või overflow: scroll
meeldib .table-responsive
sellele, kuid säilitab siiski algse paigutuse asukoha. Selle lahendamiseks määrake boundary
suvand (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 data
atribuut ja title
HTML-elemendil, mille kohta soovite vihjet, on. Tööriistaspikri loodud märgistus on üsna lihtne, kuigi see nõuab positsiooni (vaikimisi top
on 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 hover
töö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 disabled
ei 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"
.
sanitize
,
sanitizeFn
ja
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: |
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: |
html |
tõeväärtus | false |
Luba kohtspikris HTML.
Kui olete XSS-i rünnakute pärast mures, kasutage teksti. |
placement |
string | funktsiooni | 'top' |
Kuidas paigutada kohtspikker – auto | ülemine | alumine | vasakule | õige. 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 |
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.on tugi). 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
Äärepoolsel ümbriselemendil peaks olema |
title |
string | element | funktsiooni | '' |
Pealkirja vaikeväärtus, kui Kui funktsioon on antud, kutsutakse see välja koos |
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.
|
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: 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: 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: . 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.tooltip
sü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.tooltip
sü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.tooltip
või hidden.bs.tooltip
sü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 show eksemplari 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 hide eksemplari 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.tooltip sü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()