Popovers
Dokumentáció és példák Bootstrap felugró ablakok – például az iOS rendszerben találhatók – hozzáadásához a webhely bármely eleméhez.
Áttekintés
Tudnivalók a popover beépülő modul használatakor:
- A popoverek a harmadik fél Popper.js könyvtárára támaszkodnak a pozicionáláshoz. A popper.min.js fájlt a bootstrap.js elé kell beírni, vagy a
bootstrap.bundle.min.js
/bootstrap.bundle.js
-t, amely tartalmazza a Popper.js-t, hogy a popover működjön! - Az előugró ablakokhoz függőségként szükség van az eszköztipp-bővítményre .
- Ha a JavaScriptet forrásból készíti, akkor ehhez
util.js
. - A felugró ablakok teljesítmény miatt engedélyezettek, ezért Önnek kell inicializálnia őket .
- A nulla hosszúság
title
éscontent
az értékek soha nem fognak felbukkanni. - Adja meg
container: 'body'
, hogy elkerülje a megjelenítési problémákat az összetettebb összetevőkben (például beviteli csoportjaink, gombcsoportjaink stb.). - A rejtett elemek felbukkanásának kiváltása nem fog működni.
.disabled
A vagy elemek felbukkanását adisabled
burkolóelemen kell aktiválni.- Ha több vonalon átívelő horgonyok aktiválják, a felugró ablakok a horgonyok teljes szélessége között lesznek középen. Használja
.text-nowrap
a<a>
s-én, hogy elkerülje ezt a viselkedést. - A felugró ablakokat el kell rejteni, mielőtt a megfelelő elemeiket eltávolítanák a DOM-ból.
- A popoverek az árnyék DOM-on belüli elemnek köszönhetően válthatók ki.
Ennek az összetevőnek az animációs hatása a médialekérdezéstől függ prefers-reduced-motion
. Tekintse meg akadálymentesítési dokumentációnk csökkentett mozgással foglalkozó részét .
Olvasson tovább, hogy megtudja, hogyan működnek a popoverek néhány példával.
Példa: Engedélyezze a popovereket mindenhol
data-toggle
Az oldal összes felugró ablakának inicializálásának egyik módja az lenne, ha attribútumuk alapján választaná ki őket :
Példa: Az container
opció használata
Ha egy szülőelemen vannak olyan stílusok, amelyek megzavarják a felbukkanást, akkor meg kell adnia egy egyéni beállítást container
, hogy az előugró elem HTML-kódja helyett az adott elemen belül jelenjen meg.
Példa
Négy irány
Négy lehetőség áll rendelkezésre: felül, jobb, alsó és balra igazítva.
Elvetés a következő kattintással
Használja a focus
triggert a felugró ablakok elvetésére, amikor a felhasználó a kapcsoló elemtől eltérő elemre kattint következő alkalommal.
Speciális jelölés szükséges a következő kattintáskor történő elvetéshez
A megfelelő, több böngésző és platform közötti viselkedés érdekében a címkét kell használnia <a>
, nem a <button>
címkét, és egy tabindex
attribútumot is tartalmaznia kell.
Letiltott elemek
Az disabled
attribútummal rendelkező elemek nem interaktívak, ami azt jelenti, hogy a felhasználók nem vihetik az egérmutatót vagy kattinthatnak rájuk, hogy előugró ablakot (vagy elemleírást) indítsanak el. Megkerülő megoldásként ki kell váltania a felugró ablakot egy burkolóból, <div>
vagy <span>
felül kell írnia pointer-events
a letiltott elemet.
A letiltott popover triggereknél azt is előnyben részesítheti data-trigger="hover"
, hogy a felbukkanó üzenet azonnali vizuális visszajelzésként jelenjen meg a felhasználók számára, mivel előfordulhat, hogy nem számítanak rá, hogy egy letiltott elemre kattintanak .
Használat
Előugró ablakok engedélyezése JavaScripten keresztül:
Lehetőségek
Az opciók átadhatók adatattribútumokon vagy JavaScripten keresztül. Az adatattribútumokhoz fűzze hozzá az opció nevét a data-
következőhöz: data-animation=""
.
Név | típus | Alapértelmezett | Leírás |
---|---|---|---|
élénkség | logikai érték | igaz | Alkalmazzon CSS-eltolási átmenetet az előugró ablakra |
tartály | húr | elem | hamis | hamis | Egy adott elemhez fűzi az előugró ablakot. Példa: |
tartalom | húr | elem | funkció | '' | Alapértelmezett tartalomérték, ha Ha adott egy függvény, akkor az úgy lesz meghívva, hogy a |
késleltetés | szám | tárgy | 0 | A felugró ablak megjelenítésének és elrejtésének késleltetése (ms) – nem vonatkozik a kézi indítótípusra Ha megad egy számot, akkor a késleltetés mindkét elrejtésre/megjelenítésre vonatkozik Az objektum szerkezete a következő: |
html | logikai érték | hamis | Szúrjon be HTML-t a felugró ablakba. Ha hamis, akkor a jQuery text metódusát fogja használni a tartalom beszúrására a DOM-ba. Használjon szöveget, ha aggódik az XSS-támadások miatt. |
elhelyezés | húr | funkció | 'jobb' | Hogyan helyezzük el a popovert - auto | top | alsó | balra | jobb. Amikor egy függvényt használunk az elhelyezés meghatározására, akkor az első argumentumként a popover DOM-csomópontot, másodikként pedig a DOM-csomópont kiváltó elemet hívja meg. A |
választó | húr | hamis | hamis | Ha rendelkezésre áll választó, a felugró objektumok delegálódnak a megadott célokra. A gyakorlatban ezt arra használják, hogy a dinamikus HTML-tartalomhoz felugró ablakokat adjanak hozzá. Lásd ezt és egy tájékoztató példát . |
sablon | húr | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
A popover létrehozásakor használandó alap HTML. A popovert A popovert
A legkülső burkolóelemnek az |
cím | húr | elem | funkció | '' | Az alapértelmezett címérték, ha Ha adott egy függvény, akkor az úgy lesz meghívva, hogy a |
ravaszt | húr | 'kattint' | Hogyan történik a popover aktiválása - kattintson a | lebeg | fókusz | kézikönyv. Több triggert is átadhat; szóközzel válassza el őket. manual nem kombinálható semmilyen más triggerrel. |
beszámítás | szám | húr | 0 | A popover eltolása a célhoz képest. További információkért tekintse meg a Popper.js offset dokumentumait . |
backbackPlacement | húr | sor | 'flip' | Hagyja megadni, hogy a Popper melyik pozíciót használja a tartaléknál. További információkért tekintse meg a Popper.js viselkedési dokumentumait |
határ | húr | elem | 'scrollParent' | A popover túlcsordulási kényszerhatára. Elfogadja a 'viewport' , 'window' , 'scrollParent' , vagy a HTMLElement hivatkozás értékeit (csak JavaScript). További információkért tekintse meg a Popper.js preventOverflow dokumentumait . |
Adatattribútumok az egyes felugró ablakokhoz
Az egyes felugró ablakok beállításai az adatattribútumok használatával is megadhatók, a fentiek szerint.
Mód
Aszinkron módszerek és átmenetek
Minden API metódus aszinkron , és átmenetet indít . Visszatérnek a hívóhoz, amint az átmenet elkezdődik, de még azelőtt, hogy az véget érne . Ezenkívül a rendszer figyelmen kívül hagyja az átmeneti komponens metódushívásait .
További információért tekintse meg JavaScript dokumentációnkat .
$().popover(options)
Inicializálja az elemgyűjtemény popovereit.
.popover('show')
Felfedi egy elem felbukkanását. Visszatér a hívóhoz, mielőtt a popover ténylegesen megjelenne (azaz az shown.bs.popover
esemény bekövetkezte előtt). Ez a popover „kézi” kiváltásának tekinthető. A nulla hosszúságú felugró ablakok soha nem jelennek meg.
.popover('hide')
Elrejti egy elem felbukkanását. Visszatér a hívóhoz, mielőtt a popover ténylegesen el lett volna rejtve (azaz az hidden.bs.popover
esemény bekövetkezte előtt). Ez a popover „kézi” kiváltásának tekinthető.
.popover('toggle')
Bekapcsolja az elem felbukkanását. Visszatér a hívóhoz, mielőtt a popover ténylegesen megjelenne vagy elrejtésre kerülne (azaz a shown.bs.popover
vagy hidden.bs.popover
esemény bekövetkezése előtt). Ez a popover „kézi” kiváltásának tekinthető.
.popover('dispose')
Elrejti és megsemmisíti egy elem felbukkanását. A delegálást használó felugró ablakok (amelyek a selector
beállítással jönnek létre ) nem semmisíthetők meg egyenként a leszármazott triggerelemeken.
.popover('enable')
Lehetővé teszi, hogy egy elem popover megjelenjen. A popoverek alapértelmezés szerint engedélyezve vannak.
.popover('disable')
Eltávolítja az elem felugró ablakának megjelenítési lehetőségét. A popover csak akkor jelenhet meg, ha újra engedélyezve van.
.popover('toggleEnabled')
Bekapcsolja az elem felugró ablakának megjelenítését vagy elrejtését.
.popover('update')
Frissíti egy elem popover pozícióját.
Események
Esemény típus | Leírás |
---|---|
show.bs.popover | Ez az esemény azonnal aktiválódik a show példánymetódus meghívásakor. |
mutatott.bs.popover | Ez az esemény akkor indul el, amikor a popover láthatóvá vált a felhasználó számára (megvárja, amíg a CSS-átmenetek befejeződnek). |
elrejteni.bs.popover | Ez az esemény azonnal elindul, amikor a hide példánymetódus meghívásra került. |
rejtett.bs.popover | Ez az esemény akkor indul el, amikor a popover elrejtése befejeződött a felhasználó elől (megvárja a CSS-átmenetek befejezését). |
beszúrva.bs.popover | Ez az esemény az show.bs.popover esemény után indul el, amikor a popover sablont hozzáadták a DOM-hoz. |