Popovers
Zure webguneko edozein elementutan Bootstrap popover-ak gehitzeko dokumentazioa eta adibideak, iOS-en aurkitzen direnak bezala.
Ikuspegi orokorra
Popover plugina erabiltzean jakin beharrekoak:
- Popovers Popper hirugarren liburutegian oinarritzen dira kokapenerako. Popper.min.js sartu behar duzu bootstrap.js baino lehen edo Popper duen
bootstrap.bundle.min.js
/ erabilibootstrap.bundle.js
behar duzu popover-ek funtziona dezan! - Popover-ek tooltip plugina behar dute menpekotasun gisa.
- Popover-ak errendimendu arrazoiengatik aukeratzen dira, beraz, zuk zeuk hasieratu behar dituzu .
- Zero-luzera
title
etacontent
balioek ez dute inoiz popover bat erakutsiko. - Zehaztu
container: 'body'
osagai konplexuagoetan (adibidez, gure sarrera-taldeak, botoi-taldeak, etab.) arazoak errendatzea saihesteko. - Ezkutuko elementuetan popover-ak abiarazteak ez du funtzionatuko.
.disabled
Elementu edo elementuen popover-disabled
ak bilgarri-elementu batean abiarazi behar dira.- Hainbat lerrotan biltzen diren ainguretatik abiarazten denean, popover-ak ainguraren zabalera osoaren artean zentratuko dira. Erabili
.text-nowrap
zure aldean<a>
portaera hori saihesteko. - Popover-ak ezkutatu egin behar dira dagozkien elementuak DOMetik kendu aurretik.
- Popovers itzal DOM baten barruan dagoen elementu bati esker abiarazi daitezke.
prefers-reduced-motion
multimedia kontsultaren menpe dago. Ikusi
gure irisgarritasun-dokumentazioaren mugimendu murriztuaren atala .
Jarraitu irakurtzen popover-ek adibide batzuekin nola funtzionatzen duten ikusteko.
Adibidez: gaitu popovers nonahi
Orrialde bateko popover guztiak hasieratzeko modu bat haien data-bs-toggle
atributuaren arabera hautatzea izango litzateke:
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
Adibidea: container
aukera erabiltzea
Popover-a oztopatzen duten elementu nagusi batean estilo batzuk dituzunean, pertsonalizatu bat zehaztu nahi duzu container
, popover-aren HTML elementu horren ordez ager dadin.
var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
container: 'body'
})
Adibidea
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Lau norabide
Lau aukera daude eskuragarri: goiko, eskuineko, beheko eta ezkerreko lerrokatuta. Jarraibideak islatzen dira Bootstrap RTL-n erabiltzean.
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
Popover on left
</button>
Baztertu hurrengo klikan
Erabili focus
abiarazlea popover-ak baztertzeko, erabiltzaileak etengailuaren elementua ez den beste elementu batean egin duen hurrengo klikan.
Markatu zehatza behar da hurrengo klik egitean baztertzeko
Arakatzaile eta plataforma anitzeko portaera egokia izateko, <a>
etiketa erabili behar duzu, ez etiketa<button>
, eta tabindex
atributu bat ere sartu behar duzu.
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
var popover = new bootstrap.Popover(document.querySelector('.popover-dismiss'), {
trigger: 'focus'
})
Desgaitutako elementuak
Atributua duten elementuak disabled
ez dira interaktiboak, hau da, erabiltzaileek ezin dituzte pasa edo klikatu popover bat (edo tresna-informazioa) abiarazteko. Konponbide gisa, popover-a abiarazi nahi duzu bilgarri batetik <div>
edo <span>
, teklatuan foka daitekeena erabiliz tabindex="0"
.
Desgaitutako popover abiarazleetarako, baliteke data-bs-trigger="hover focus"
popover-a zure erabiltzaileei berehalako iritzi bisual gisa agertzea, baliteke desgaitutako elementu batean klik egitea espero ez dutelako.
<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Disabled popover">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
Sass
Aldagaiak
$popover-font-size: $font-size-sm;
$popover-bg: $white;
$popover-max-width: 276px;
$popover-border-width: $border-width;
$popover-border-color: rgba($black, .2);
$popover-border-radius: $border-radius-lg;
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow: $box-shadow;
$popover-header-bg: shade-color($popover-bg, 6%);
$popover-header-color: $headings-color;
$popover-header-padding-y: .5rem;
$popover-header-padding-x: $spacer;
$popover-body-color: $body-color;
$popover-body-padding-y: $spacer;
$popover-body-padding-x: $spacer;
$popover-arrow-width: 1rem;
$popover-arrow-height: .5rem;
$popover-arrow-color: $popover-bg;
$popover-arrow-outer-color: fade-in($popover-border-color, .05);
Erabilera
Gaitu popover-ak JavaScript bidez:
var exampleEl = document.getElementById('example')
var popover = new bootstrap.Popover(exampleEl, options)
Popover-ak teklatuaren eta laguntza-teknologien erabiltzaileentzat funtzionatzea
Teklatuko erabiltzaileek zure popover-ak aktibatzeko aukera izan dezaten, ohiko teklatuan fokua eta interaktiboak diren HTML elementuetan soilik gehitu behar dituzu (adibidez, estekak edo inprimaki-kontrolak). Nahiz eta HTML elementu arbitrarioak (adibidez, <span>
s) foka daitezkeen atributua gehituz tabindex="0"
, horrek tabulazio gogaikarri eta nahasgarriak gehituko ditu teklatuaren erabiltzaileentzako elementu ez-interaktiboetan, eta gaur egun laguntza-teknologia gehienek ez dute popover-aren edukia iragartzen egoera honetan. . Gainera, ez ezazu soilik fidatu hover
zure popover-en abiarazle gisa, teklatuaren erabiltzaileek aktibatzea ezinezkoa izango baita.
Aukera honekin HTML aberatsa eta egituratua txerta dezakezun arren, html
gehiegizko edukia gehitzea saihestea gomendatzen dizugu. Une honetan popover-ek funtzionatzen duten modua da, behin bistaratu ondoren, haien edukia abiarazle-elementuari lotzen zaiola aria-describedby
atributuarekin. Ondorioz, popover-aren eduki osoa jakinaraziko zaie laguntza-teknologien erabiltzaileei etenik gabeko korronte luze gisa.
Gainera, zure popover-ean kontrol interaktiboak (adibidez, inprimaki-elementuak edo estekak) ere sar daitezkeen arren (elementu horiek allowList
baimendutako atributu eta etiketetan gehituz), kontutan izan une honetan popover-ak ez duela kudeatzen teklatuaren foku-ordena. Teklatuaren erabiltzaile batek popover bat irekitzen duenean, fokua elementu eragilean geratzen da, eta popover-ak normalean dokumentuaren egituran abiarazlea berehala jarraitzen ez duenez, ez dago bermatzen aurrera/sakatzea.TABteklatuaren erabiltzaile bat popover-era eramango du. Laburbilduz, popover batean kontrol interaktiboak gehitzeak litekeena da kontrol horiek eskuraezinak edo erabilezinak bihurtzea teklatuaren erabiltzaileentzat eta laguntza-teknologien erabiltzaileentzat, edo, gutxienez, fokatze-ordena orokor ilogiko bat egitea. Kasu hauetan, kontuan hartu elkarrizketa modal bat erabiltzea ordez.
Aukerak
Aukerak datu-atributuen edo JavaScript bidez pasa daitezke. Datu-atributuetarako, erantsi aukera-izena data-bs-
, hemen bezala data-bs-animation=""
. Ziurtatu aukera-izena kamelCase-tik kebab-case-ra aldatzen duzula aukerak datu-atributuen bidez aukerak pasatzean. Adibidez, erabili beharrean data-bs-customClass="beautifier"
, erabili data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
, eta
allowList
aukerak ezin direla eman datu-atributuak erabiliz.
Izena | Mota | Lehenetsia | Deskribapena |
---|---|---|---|
animation |
boolearra | true |
Aplikatu CSS desagertzeko trantsizioa popover-ean |
container |
katea | elementua | faltsua | false |
Popover-a elementu zehatz bati eransten dio. Adibidea |
content |
katea | elementua | funtzioa | '' |
Edukiaren balio lehenetsia
|
delay |
zenbakia | objektua | 0 |
Atzeratu popover-a erakusteko eta ezkutatzeko (ms) - ez dagokio eskuzko abiarazle motari Zenbaki bat ematen bada, atzerapena aplikatuko da ezkutatzeko/erakusteko Objektuaren egitura hau da: |
html |
boolearra | false |
Sartu HTML popover-ean. Faltsua bada, innerText propietatea erabiliko da edukia DOMean txertatzeko. Erabili testua XSS erasoekin kezkatuta bazaude. |
placement |
katea | funtzioa | 'right' |
Popover-a nola kokatu - auto | goian | behea | ezkerra | eskubidea. Zehazten Funtzio bat kokapena zehazteko erabiltzen denean, popover DOM nodoa lehen argumentu gisa deitzen da eta abiarazte elementua DOM nodoa bigarren gisa. |
selector |
katea | faltsua | false |
Hautatzaile bat ematen bada, popover objektuak zehaztutako helburuetara delegatuko dira. Praktikan, HTML eduki dinamikoa gaitzeko erabiltzen da popovers gehitzeko. Ikusi hau eta informazio-adibide bat . |
template |
katea | '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Oinarrizko HTML popover-a sortzerakoan erabiltzeko. Popover- Popover-
Kanpoko bilgarri-elementuak |
title |
katea | elementua | funtzioa | '' |
Izenburuaren balio lehenetsia
|
trigger |
katea | 'click' |
Popover nola abiarazten den - egin klik | pasatzea | fokua | eskuliburua. Hainbat abiarazle pasa ditzakezu; bereiz itzazu tarte batekin. manual ezin da beste edozein eragilerekin konbinatu. |
fallbackPlacements |
array | ['top', 'right', 'bottom', 'left'] |
Definitu ordezko kokapenak array-ko kokapen-zerrenda bat emanez (hobespenen arabera). Informazio gehiagorako, jo Popperren portaera dokumentuetara |
boundary |
katea | elementua | 'clippingParents' |
Popover-aren gainezka-murriztapenaren muga (Popper-en preventOverflow modifikatzaileari soilik aplikatzen zaio). Lehenespenez, 'clippingParents' HTMLElement erreferentzia bat da eta onartu dezake (JavaScript bidez soilik). Informazio gehiagorako, ikusi Popper-en detectOverflow docs . |
customClass |
katea | funtzioa | '' |
Gehitu klaseak popover-era erakusten denean. Kontuan izan klase hauek txantiloian zehaztutako klaseez gain gehituko direla. Hainbat klase gehitzeko, bereiz itzazu zuriuneekin: Klase-izen gehigarriak dituen kate bakarra itzuli beharko lukeen funtzio bat ere pasa dezakezu. |
sanitize |
boolearra | true |
Gaitu edo desgaitu desinfekzioa. Aktibatzen bada 'template' , 'content' eta 'title' aukerak garbituko dira. Ikusi desinfektatzaileen atala gure JavaScript dokumentazioan . |
allowList |
objektua | Balio lehenetsia | Baimendutako atributuak eta etiketak dituen objektua |
sanitizeFn |
nulua | funtzioa | null |
Hemen zure higienizazio funtzioa horni dezakezu. Hau erabilgarria izan daiteke garbiketa egiteko liburutegi dedikatu bat erabili nahi baduzu. |
offset |
array | katea | funtzioa | [0, 8] |
Popover-aren desplazamendua bere xedearekiko. Datu-atributuetan kate bat pasa dezakezu komaz bereizitako balioekin: Desplazamendua zehazteko funtzio bat erabiltzen denean, lehen argumentu gisa popper-aren kokapena, erreferentzia eta popper zuzenak dituen objektu batekin deitzen da. DOM nodo abiarazteko elementua bigarren argumentu gisa pasatzen da. Funtzioak bi zenbaki dituen array bat itzuli behar du: . Informazio gehiago lortzeko, ikusi Popper-en offset docs . |
popperConfig |
nulua | objektua | funtzioa | null |
Bootstrap-en Popper konfigurazio lehenetsia aldatzeko, ikusi Popper-en konfigurazioa . Popper konfigurazioa sortzeko funtzio bat erabiltzen denean, Bootstrap-en Popper konfigurazio lehenetsia duen objektu batekin deitzen da. Lehenetsia zure konfigurazioarekin erabiltzen eta batzen laguntzen dizu. Funtzioak konfigurazio-objektu bat itzuli behar du Popperrentzat. |
Popover indibidualentzako datu-atributuak
Popover indibidualetarako aukerak bestela datu-atributuak erabiliz zehaztu daitezke, goian azaldu bezala.
Funtzioa erabilizpopperConfig
var popover = new bootstrap.Popover(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Metodoak
Metodo asinkronoak eta trantsizioak
API metodo guztiak asinkronoak dira eta trantsizio bat hasten dute . Trantsizioa hasi bezain laster baina amaitu baino lehen itzultzen dira deitzailearengana . Gainera, trantsizio-osagai baten metodo-dei bati ez ikusi egingo zaio .
Ikus gure JavaScript dokumentazioa informazio gehiago lortzeko .
erakutsi
Elementu baten popover-a agerian uzten du. Deitzen duenari itzultzen zaio popover-a benetan erakutsi aurretik (hau da, shown.bs.popover
gertaera gertatu baino lehen). Hau popover-aren "eskuz" abiaraztetzat hartzen da. Izenburua eta edukia zero-luzera duten popover-ak ez dira inoiz bistaratzen.
myPopover.show()
ezkutatu
Elementu baten popover-a ezkutatzen du. Deitzen duenari itzultzen zaio popover-a benetan ezkutatu aurretik (hau da, hidden.bs.popover
gertaera gertatu baino lehen). Hau popover-aren "eskuz" abiaraztetzat hartzen da.
myPopover.hide()
txandakatu
Elementu baten popover-a aktibatzen du. Deitzen duenari itzultzen zaio popover-a benetan erakutsi edo ezkutatu aurretik (hau da, shown.bs.popover
edo hidden.bs.popover
gertaera gertatu baino lehen). Hau popover-aren "eskuz" abiaraztetzat hartzen da.
myPopover.toggle()
bota
Elementu baten popover-a ezkutatu eta suntsitzen du (DOM elementuan gordetako datuak kentzen ditu). Delegazioa erabiltzen duten popover-ak (aukera erabiliz sortzen direnak ) selector
ezin dira banan-banan suntsitu ondorengo abiarazle-elementuetan.
myPopover.dispose()
gaitu
Elementu baten popover-ari erakusteko gaitasuna ematen dio. Popover-ak lehenespenez gaituta daude.
myPopover.enable()
desgaitu
Elementu baten popover-a erakusteko gaitasuna kentzen du. Popover-a berriro gaituta badago soilik erakutsi ahal izango da.
myPopover.disable()
toggleEnabled
Elementu baten popover-a erakusteko edo ezkutatzeko gaitasuna aldatzen du.
myPopover.toggleEnabled()
eguneratu
Elementu baten popover-aren posizioa eguneratzen du.
myPopover.update()
getInstance
Metodo estatikoa DOM elementu batekin lotutako popover instantzia lortzeko aukera ematen duena
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
getOrCreateInstance
Metodo estatikoa , DOM elementu batekin erlazionatutako popover instantzia lortzeko edo berri bat sortzeko aukera ematen duena, hasieratu ez bazen.
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
Gertaerak
Gertaera mota | Deskribapena |
---|---|
show.bs.popover | Gertaera hau berehala abiarazten da show instantzia-metodoa deitzen denean. |
erakutsi.bs.popover | Gertaera hau abiarazten da popover-a erabiltzailearentzat ikusgai jartzen denean (CSS trantsizioak amaitu arte itxarongo da). |
ezkutatu.bs.popover | Gertaera hau berehala abiarazten da hide instantzia-metodoa deitzen denean. |
ezkutuko.bs.popover | Gertaera hau abiarazten da popover-a erabiltzaileari ezkutatzen amaitzen denean (CSS trantsizioak amaitu arte itxarongo da). |
txertatuta.bs.popover | Gertaera hau gertaeraren ondoren show.bs.popover abiarazten da popover txantiloia DOM-era gehitu denean. |
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
// do something...
})