Saltatu eduki nagusira Saltatu dokumentuen nabigaziora
in English

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/ erabili bootstrap.bundle.jsbehar 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 titleeta contentbalioek 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.
  • .disabledElementu edo elementuen popover- disabledak bilgarri-elementu batean abiarazi behar dira.
  • Hainbat lerrotan biltzen diren ainguretatik abiarazten denean, popover-ak ainguraren zabalera osoaren artean zentratuko dira. Erabili .text-nowrapzure 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.
Lehenespenez, osagai honek barneko edukien desinfektatzailea erabiltzen du, berariaz onartzen ez diren HTML elementuak kentzen dituena. Ikusi desinfektatzaileen atala gure JavaScript dokumentazioan xehetasun gehiago lortzeko.
Osagai honen animazio-efektua prefers-reduced-motionmultimedia 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-toggleatributuaren 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: containeraukera 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 focusabiarazlea 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 tabindexatributu 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 disabledez 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 hoverzure popover-en abiarazle gisa, teklatuaren erabiltzaileek aktibatzea ezinezkoa izango baita.

Aukera honekin HTML aberatsa eta egituratua txerta dezakezun arren, htmlgehiegizko edukia gehitzea saihestea gomendatzen dizugu. Une honetan popover-ek funtzionatzen duten modua da, behin bistaratu ondoren, haien edukia abiarazle-elementuari lotzen zaiola aria-describedbyatributuarekin. 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 allowListbaimendutako 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".

Kontuan izan segurtasun arrazoiengatik sanitize, sanitizeFn, eta allowListaukerak 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 container: 'body':. Aukera hau bereziki erabilgarria da, popover-a dokumentuaren fluxuan kokatzeko aukera ematen baitu elementu eragilearen ondoan, eta horrek saihestuko du popover-a abiaraztearen elementutik urruntzea leihoaren tamaina aldatzean.

content katea | elementua | funtzioa ''

Edukiaren balio lehenetsia data-bs-contentatributua ez badago.

thisFuntzio bat ematen bada, popover-a erantsita dagoen elementuari erreferentzia ezarrita deituko zaio .

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:delay: { "show": 500, "hide": 100 }

html boolearra false Sartu HTML popover-ean. Faltsua bada, innerTextpropietatea 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
denean , popover-a dinamikoki berbideratuko du.auto

Funtzio bat kokapena zehazteko erabiltzen denean, popover DOM nodoa lehen argumentu gisa deitzen da eta abiarazte elementua DOM nodoa bigarren gisa. thisTestuingurua popover instantzian ezartzen da .

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- titleak injektatuko dira .popover-header.

Popover- contentak injektatuko dira .popover-body.

.popover-arrowpopover-en gezia bihurtuko da.

Kanpoko bilgarri-elementuak .popoverklasea izan behar du.

title katea | elementua | funtzioa ''

Izenburuaren balio lehenetsia titleatributua ez badago.

thisFuntzio bat ematen bada, popover-a erantsita dagoen elementuari erreferentzia ezarrita deituko zaio .

trigger katea 'click' Popover nola abiarazten den - egin klik | pasatzea | fokua | eskuliburua. Hainbat abiarazle pasa ditzakezu; bereiz itzazu tarte batekin. manualezin 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: 'class-1 class-2'.

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:data-bs-offset="10,20"

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: .[skidding, distance]

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.popovergertaera 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.popovergertaera 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.popoveredo hidden.bs.popovergertaera 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 ) selectorezin 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 showinstantzia-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 hideinstantzia-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.popoverabiarazten da popover txantiloia DOM-era gehitu denean.
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
  // do something...
})