Verkfæraráð
Skjöl og dæmi til að bæta við sérsniðnum Bootstrap verkfæraleiðbeiningum með CSS og JavaScript með því að nota CSS3 fyrir hreyfimyndir og data-bs-eiginleika fyrir staðbundna titilgeymslu.
Yfirlit
Hlutir sem þarf að vita þegar þú notar tooltip viðbótina:
- Verkfæraráð treysta á þriðja aðila bókasafnið Popper fyrir staðsetningu. Þú verður að hafa popper.min.js fyrir bootstrap.js eða nota
bootstrap.bundle.min.js
/bootstrap.bundle.js
sem inniheldur Popper til að verkfæraábendingar virki! - Verkfæraráð eru valin af frammistöðuástæðum, svo þú verður að frumstilla þær sjálfur .
- Verkfæraleiðbeiningar með núlllengdar titlum birtast aldrei.
- Tilgreindu
container: 'body'
til að forðast að skila vandamálum í flóknari íhlutum (eins og inntakshópum okkar, hnappahópum osfrv.). - Það virkar ekki að kveikja á ábendingum um falda þætti.
- Verkfæraleiðbeiningar fyrir
.disabled
eðadisabled
þætti verða að vera virkjaðar á umbúðaeiningu. - Þegar kveikt er á tenglum sem spanna margar línur verða verkfæraábendingar miðaðar. Notaðu
white-space: nowrap;
á þinn<a>
s til að forðast þessa hegðun. - Ábendingar verða að vera falin áður en samsvarandi þættir þeirra hafa verið fjarlægðir úr DOM.
- Hægt er að kveikja á verkfærum þökk sé frumefni inni í skugga DOM.
prefers-reduced-motion
miðlunarfyrirspurninni. Sjá
kaflann um minni hreyfingu í aðgengisskjölunum okkar .
Áttu allt það? Frábært, við skulum sjá hvernig þeir virka með nokkrum dæmum.
Dæmi: Virkjaðu verkfæraábendingar alls staðar
Ein leið til að frumstilla allar verkfæraábendingar á síðu væri að velja þær eftir data-bs-toggle
eiginleikum þeirra:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
Dæmi
Farðu yfir tenglana hér að neðan til að sjá verkfæraleiðbeiningar:
Staðsetningartexti til að sýna nokkra innbyggða tengla með verkfæraleiðbeiningum. Þetta er nú bara filler, enginn killer. Efni sett hér bara til að líkja eftir tilvist raunverulegs texta . Og allt það bara til að gefa þér hugmynd um hvernig verkfæraábendingar myndu líta út þegar þær eru notaðar í raunverulegum aðstæðum. Svo vonandi hefurðu nú séð hvernig þessar verkfæraábendingar um tengla geta virkað í reynd, þegar þú hefur notað þær á eigin síðu eða verkefni.
Færðu bendilinn yfir hnappana hér að neðan til að sjá fjórar leiðbeiningar á tólum: efst, hægri, neðst og til vinstri. Leiðbeiningar eru speglaðar þegar Bootstrap er notað í RTL.
<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>
Og með sérsniðnu HTML bætt við:
<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>
Með SVG:
Sass
Breytur
$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;
Notkun
The tooltip tappi býr til efni og álagningu á eftirspurn og setur sjálfgefið verkfæraábendingar á eftir kveikjuhlutanum.
Kveiktu á tóli í gegnum JavaScript:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
Yfirfall auto
ogscroll
Staðsetning ábendinga reynir að breytast sjálfkrafa þegar foreldri ílát hefur overflow: auto
eða overflow: scroll
líkar við .table-responsive
, en heldur samt staðsetningu upprunalegu staðsetningunnar. Til að leysa þetta skaltu stilla boundary
valmöguleikann (fyrir snúningsbreytinguna sem notar popperConfig
valkostinn) á hvaða HTMLElement sem er til að hnekkja sjálfgefnu gildinu, 'clippingParents'
, eins og document.body
:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
Markup
Nauðsynleg merking fyrir verkfæraleiðbeiningar er aðeins data
eiginleiki og title
á HTML-einingunni viltu hafa verkfæraleiðbeiningar. Mynduð merking tækjaráðs er frekar einföld, þó hún krefjist stöðu (sjálfgefið, stillt á top
af viðbótinni).
Gerir verkfæraábendingar virka fyrir notendur lyklaborðs og hjálpartækja
Þú ættir aðeins að bæta tólaábendingum við HTML þætti sem venjulega eru með lyklaborðsfókus og gagnvirkir (eins og tenglar eða formstýringar). Þrátt fyrir að hægt sé að gera handahófskennda HTML þætti (eins og <span>
s) fókusanlega með því að bæta tabindex="0"
eigindinni við, mun þetta bæta við hugsanlega pirrandi og ruglingslegum flipastoppum á ógagnvirka þætti fyrir lyklaborðsnotendur og flestar hjálpartækni tilkynnir ekki um verkfæraábendingu í þessum aðstæðum. Að auki skaltu ekki treysta eingöngu á hover
kveikjuna fyrir tólaábendingar þínar, þar sem þetta mun gera tólaábendingar þínar ómögulegar fyrir lyklaborðsnotendur.
<!-- 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>
Óvirkir þættir
Þættir með disabled
eigindinni eru ekki gagnvirkir, sem þýðir að notendur geta ekki einbeitt sér, sveiflað eða smellt á þá til að kalla fram verkfæraábendingu (eða sprettiglugga). Sem lausn, þú vilt kveikja á tóli frá umbúðum <div>
eða <span>
, helst gert lyklaborðsfókus með því að nota 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>
Valmöguleikar
Hægt er að senda valkosti í gegnum gagnaeiginleika eða JavaScript. Fyrir gagnaeiginleika skaltu bæta heiti valkostsins við data-bs-
, eins og í data-bs-animation=""
. Gakktu úr skugga um að breyta tilfelli tegundar valmöguleikans úr camelCase í kebab-case þegar þú sendir valkostina í gegnum gagnaeiginleika. Til dæmis, í stað þess að nota data-bs-customClass="beautifier"
skaltu nota data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
, og
allowList
með því að nota gagnaeiginleika.
Nafn | Tegund | Sjálfgefið | Lýsing |
---|---|---|---|
animation |
Boolean | true |
Notaðu CSS fade umskipti á tólabendinguna |
container |
strengur | þáttur | rangt | false |
Bætir ábendingunni við ákveðinn þátt. Dæmi: |
delay |
númer | mótmæla | 0 |
Seinkun á að sýna og fela verkfæraábendingu (ms) - á ekki við um handvirka kveikjugerð Ef númer er gefið upp er seinkun beitt á bæði fela/sýna Uppbygging hlutar er: |
html |
Boolean | false |
Leyfa HTML í tóli. Ef satt er, verða HTML merki í tólabendingunni Notaðu texta ef þú hefur áhyggjur af XSS árásum. |
placement |
strengur | virka | 'top' |
Hvernig á að staðsetja tólið - sjálfvirkt | efst | botn | vinstri | rétt. Þegar fall er notað til að ákvarða staðsetninguna er það kallað með tooltip DOM hnútnum sem fyrstu röksemd og kveikjuþáttinn DOM hnút sem seinni. Samhengið |
selector |
strengur | rangt | false |
Ef valkostur er til staðar verður verkfæravísahlutum úthlutað til tilgreindra skotmarka. Í reynd er þetta notað til að nota tólaábendingar til að bæta við DOM þætti ( jQuery.on stuðningur). Sjá þetta og fróðlegt dæmi . |
template |
strengur | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
Grunn HTML til að nota þegar þú býrð til verkfæraábendingu. Verkfæraráðinu
Ysta umbúðaþátturinn ætti að hafa |
title |
strengur | þáttur | virka | '' |
Sjálfgefið titilgildi ef Ef fall er gefið upp verður það kallað með |
trigger |
strengur | 'hover focus' |
Hvernig tólábending er kveikt - smelltu á | sveima | fókus | handbók. Þú gætir farið framhjá mörgum kveikjum; aðskilja þá með bili.
|
fallbackPlacements |
fylki | ['top', 'right', 'bottom', 'left'] |
Skilgreindu varastaðsetningar með því að gefa upp lista yfir staðsetningar í fylki (í forgangsröð). Nánari upplýsingar er að finna í hegðunarskjölum Poppers |
boundary |
strengur | þáttur | 'clippingParents' |
Yfirflæðisþvingunarmörk tólabendingarinnar (á aðeins við um breytibúnað Poppers preventOverflow). Sjálfgefið er 'clippingParents' og getur samþykkt HTMLElement tilvísun (aðeins með JavaScript). Nánari upplýsingar er að finna í detectOverflow skjölum Popper . |
customClass |
strengur | virka | '' |
Bættu flokkum við verkfæraleiðbeiningarnar þegar þær eru sýndar. Athugaðu að þessum flokkum verður bætt við til viðbótar öllum flokkum sem tilgreindir eru í sniðmátinu. Til að bæta við mörgum flokkum skaltu aðskilja þá með bilum: Þú getur líka sent aðgerð sem ætti að skila einum streng sem inniheldur fleiri flokksnöfn. |
sanitize |
Boolean | true |
Virkja eða slökkva á sótthreinsun. Ef virkjað 'template' og 'title' valkostir verða sótthreinsaðir. Sjáðu hreinsiefnishlutann í JavaScript skjölunum okkar . |
allowList |
mótmæla | Sjálfgefið gildi | Hlutur sem inniheldur leyfilega eiginleika og merki |
sanitizeFn |
núll | virka | null |
Hér getur þú útvegað þína eigin sótthreinsunaraðgerð. Þetta getur verið gagnlegt ef þú vilt frekar nota sérstakt bókasafn til að framkvæma hreinsun. |
offset |
fylki | strengur | virka | [0, 0] |
Offseting á tóli miðað við markmið hans. Þú getur sent streng í gagnaeiginleikum með kommum aðskilin gildi eins og: Þegar fall er notað til að ákvarða offsetið er það kallað með hlut sem inniheldur popper staðsetningu, tilvísun og popper rects sem fyrstu rök. Kveikjuþátturinn DOM hnútur er samþykktur sem önnur rök. Fallið verður að skila fylki með tveimur tölum: . Nánari upplýsingar er að finna í Offset-skjölum Poppers . |
popperConfig |
núll | hlutur | virka | null |
Til að breyta sjálfgefna Popper stillingu Bootstrap, sjáðu stillingar Popper . Þegar aðgerð er notuð til að búa til Popper stillinguna er hún kölluð með hlut sem inniheldur sjálfgefna Popper stillingu Bootstrap. Það hjálpar þér að nota og sameina sjálfgefið við þína eigin stillingu. Aðgerðin verður að skila stillingarhlut fyrir Popper. |
Gagnaeiginleikar fyrir einstakar verkfæraábendingar
Að öðrum kosti er hægt að tilgreina valkosti fyrir einstakar verkfæraábendingar með því að nota gagnaeiginleika, eins og útskýrt er hér að ofan.
Að nota aðgerð meðpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Aðferðir
Ósamstilltar aðferðir og umskipti
Allar API aðferðir eru ósamstilltar og hefja umskipti . Þeir snúa aftur til þess sem hringir um leið og umskiptin eru hafin en áður en þeim lýkur . Að auki verður aðferðakall á umbreytingarhluta hunsað .
sýna
Sýnir verkfæraábendingu frumefnis. Snýr aftur til þess sem hringir áður en verkfæraráðið hefur verið sýnt (þ.e. áður en shown.bs.tooltip
atburðurinn á sér stað). Þetta er talið „handvirk“ kveikja á tólabendingunni. Verkfæraleiðbeiningar með núlllengdar titlum birtast aldrei.
tooltip.show()
fela sig
Felur ábendingu frumefnis. Snýr aftur til þess sem hringir áður en verkfæraráðið hefur verið falið (þ.e. áður en hidden.bs.tooltip
atburðurinn á sér stað). Þetta er talið „handvirk“ kveikja á tólabendingunni.
tooltip.hide()
skipta
Breytir ábendingum frumefnis. Snýr aftur til þess sem hringir áður en verkfæraábendingin hefur verið sýnd eða falin (þ.e. áður en atburðurinn shown.bs.tooltip
eða hidden.bs.tooltip
á sér stað). Þetta er talið „handvirk“ kveikja á tólabendingunni.
tooltip.toggle()
farga
Felur og eyðileggur verkfæraábendingu frumefnis (Fjarlægir vistuð gögn á DOM-einingunni). Verkfæraábendingar sem nota úthlutun (sem eru búnar til með valmöguleikanum selector
) er ekki hægt að eyða fyrir sig á afkvæma kveikjuþáttum.
tooltip.dispose()
virkja
Gefur verkfæri frumefnis möguleika á að vera sýndur. Verkfæraleiðbeiningar eru sjálfgefnar virkar.
tooltip.enable()
slökkva
Fjarlægir möguleikann á að sýna ábendingu frumefnis. Aðeins er hægt að sýna verkfæraráðið ef það er virkjað aftur.
tooltip.disable()
toggleEnabled
Skiptir um möguleikann á því að sýna eða fela verkfæraleiðbeiningar þáttar.
tooltip.toggleEnabled()
uppfærsla
Uppfærir staðsetningu ábendinga frumefnis.
tooltip.update()
getTilvik
Statísk aðferð sem gerir þér kleift að fá tólatilvikið tengt DOM frumefni
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
Statísk aðferð sem gerir þér kleift að fá tooltip tilvikið tengt DOM-einingu, eða búa til nýjan ef það var ekki frumstillt
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
Viðburðir
Tegund viðburðar | Lýsing |
---|---|
show.bs.tooltip |
Þessi atburður ræsir strax þegar show tilviksaðferðin er kölluð. |
shown.bs.tooltip |
Þessi atburður er ræstur þegar verkfæraráðið hefur verið gert sýnilegt notandanum (bíður eftir að CSS umbreytingum ljúki). |
hide.bs.tooltip |
Þessi atburður er ræstur strax þegar hide tilviksaðferðin hefur verið kölluð. |
hidden.bs.tooltip |
Þetta tilvik er ræst þegar tólaábendingin hefur lokið við að vera falin fyrir notandanum (bíður eftir að CSS umbreytingum ljúki). |
inserted.bs.tooltip |
Þessi atburður er ræstur eftir show.bs.tooltip atburðinn þegar sniðmát fyrir verkfæraleiðbeiningar hefur verið bætt við DOM. |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()