Popovers
Dokumentatioun an Beispiller fir Bootstrap Popovers ze addéieren, wéi déi am iOS fonnt ginn, op all Element op Ärem Site.
Iwwersiicht
Saachen ze wëssen wann Dir de Popover Plugin benotzt:
- Popovers vertrauen op der 3. Partei Bibliothéik Popper fir positionéieren. Dir musst popper.min.js virum bootstrap.js enthalen oder benotzen
bootstrap.bundle.min.js
/bootstrap.bundle.js
déi Popper enthält fir datt Popovers funktionnéieren! - Popovers erfuerderen den Tooltip Plugin als Ofhängegkeet.
- Wann Dir eis JavaScript aus der Quell baut, brauch
util.js
et . - Popovers sinn opt-in aus Leeschtungsgrënn, also musst Dir se selwer initialiséieren .
- Null-Längt
title
acontent
Wäerter wäert weisen ni eng Popover. - Spezifizéieren
container: 'body'
fir Rendering Probleemer a méi komplexe Komponenten ze vermeiden (wéi eis Inputgruppen, Knäppchengruppen, etc.). - Ausléiser Popovers op verstoppt Elementer wäert net schaffen.
- Popovers fir
.disabled
oderdisabled
Elementer muss op engem wrapper Element ausgeléist ginn. - Wann aus Anker ausgeléist gëtt, déi iwwer verschidde Linnen wéckelen, ginn Popovers tëscht den Gesamtbreet vun den Anker zentréiert. Benotzt
.text-nowrap
op Är<a>
s dëst Verhalen ze vermeiden. - Popovers musse verstoppt ginn ier hir entspriechend Elementer aus der DOM geläscht ginn.
- Popovers kënnen ausgeléist ginn duerch en Element an engem Schied DOM.
prefers-reduced-motion
Medienufro of. Kuckt d'
Reduktiounsbewegungssektioun vun eiser Accessibilitéitsdokumentatioun .
Weiderliesen fir ze kucken wéi Popovers mat e puer Beispiller funktionnéieren.
Beispill: Aktivéiert Popovers iwwerall
Ee Wee fir all Popovers op enger Säit ze initialiséieren wier se no hirem data-toggle
Attribut ze wielen:
$(function () {
$('[data-toggle="popover"]').popover()
})
Beispill: Benotzt d' container
Optioun
Wann Dir e puer Stiler op engem Elterendeel hutt, déi mat engem Popover stéieren, wëllt Dir e Benotzerdefinéiert spezifizéieren, container
fir datt den HTML vum Popover an deem Element amplaz erschéngt.
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
Beispill
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Véier Richtungen
Véier Optiounen sinn verfügbar: uewen, riets, ënnen a lénks ausgeriicht.
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Left popover">
Popover on left
</button>
Entlooss beim nächste Klick
Benotzt den focus
Ausléiser fir Popovers op de nächste Klick vum Benotzer vun engem aneren Element ze entloossen wéi de Toggle Element.
Spezifesch Markup erfuerderlech fir entlooss-op-nächste-klickt
Fir richteg Cross-Browser a Cross-Plattform Verhalen, musst Dir den <a>
Tag benotzen, net den <button>
Tag, an Dir musst och en tabindex
Attribut enthalen.
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
$('.popover-dismiss').popover({
trigger: 'focus'
})
Behënnert Elementer
Elementer mat dem disabled
Attribut sinn net interaktiv, dat heescht datt d'Benotzer net kënnen hover oder klicken fir e Popover (oder Tooltip) auszeléisen. Als Léisung wëllt Dir de Popover aus engem Wrapper ausléisen <div>
oder <span>
den pointer-events
op de behënnerte Element iwwerschreiden.
Fir behënnert Popover Ausléiser, kënnt Dir och léiwer data-trigger="hover"
sou datt de Popover als direkt visuell Feedback fir Är Benotzer erschéngt, well se net erwaarden datt se op en behënnert Element klickt .
<span class="d-inline-block" data-toggle="popover" data-content="Disabled popover">
<button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>
Benotzung
Aktivéiert Popovers iwwer JavaScript:
$('#example').popover(options)
GPU Beschleunegung
Popovers schéngen heiansdo onschëlleg op Windows 10 Apparater wéinst GPU Beschleunegung an engem modifizéierten System DPI. D'Léisung fir dëst am v4 ass d'GPU Beschleunegung auszeschalten wéi néideg op Äre Popovers.
Recommandéiert Fix:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
Popovers maachen fir Tastatur an Hëllefstechnologie Benotzer ze schaffen
Fir Tastaturbenotzer z'erméiglechen Är Popovers z'aktivéieren, sollt Dir se nëmmen un HTML Elementer addéieren, déi traditionell Tastaturfokusséierbar an interaktiv sinn (wéi Linken oder Form Kontrollen). Och wann arbiträr HTML Elementer (wéi <span>
s) fokusséierbar gemaach kënne ginn andeems d' tabindex="0"
Attribut bäigefüügt gëtt, wäert dëst potenziell lästeg a konfus Tabstops op net-interaktiven Elementer fir Tastatur Benotzer addéieren, an déi meescht Assistenztechnologien annoncéieren de Moment net den Inhalt vum Popover an dëser Situatioun. . Zousätzlech, vertrau net eleng op hover
den Ausléiser fir Är Popovers, well dëst wäert se onméiglech maachen fir Tastatur Benotzer auszeléisen.
Iwwerdeems Dir räich, strukturéiert HTML an Popovers mat der html
Optioun aginn kënnt, empfeelen mir Iech staark ze vermeiden datt Dir eng exzessiv Quantitéit un Inhalt derbäigesat. De Wee wéi Popovers momentan funktionnéieren ass datt, eemol ugewisen, hiren Inhalt un den Ausléiserelement mam aria-describedby
Attribut gebonnen ass. Als Resultat gëtt de ganzen Inhalt vum Popover fir Hëllefstechnologie Benotzer als ee laangen, onënnerbrach Stream ugekënnegt.
Zousätzlech, och wann et méiglech ass och interaktiv Kontrollen (wéi Formelementer oder Linken) an Ärem Popover ze enthalen (duerch dës Elementer un d' whiteList
oder erlaabt Attributer an Tags bäizefügen), bewosst datt de Moment de Popover keng Tastaturfokusuerdnung verwaltet. Wann e Keyboard Benotzer e Popover opmaacht, bleift de Fokus op dat ausléisend Element, a well de Popover normalerweis net direkt den Ausléiser an der Struktur vum Dokument verfollegt, gëtt et keng Garantie datt no vir / drécktTABwäert e Keyboard Benotzer an de Popover selwer réckelen. Kuerz gesot, einfach interaktiv Kontrollen op e Popover ze addéieren ass méiglecherweis dës Kontrollen onerreechbar / onbrauchbar fir Tastaturbenotzer a Benotzer vun Assistenztechnologien, oder op d'mannst fir eng onlogesch Gesamtkonzentratiounsuerdnung. An dëse Fäll, betruecht amplaz e modalen Dialog ze benotzen.
Optiounen
Optiounen kënnen iwwer Datenattributer oder JavaScript weidergeleet ginn. Fir Datenattributer, fügen d'Optiounsnumm un data-
, wéi an data-animation=""
.
sanitize
,
sanitizeFn
an
d' whiteList
Optioune kënnen net mat Datenattributer geliwwert ginn.
Numm | Typ | Default | Beschreiwung |
---|---|---|---|
Animatioun | boolesch | wouer | Fëllt e CSS Fade Iwwergang op de Popover |
Container | streng | Element | falsch | falsch | Fügt de Popover op e spezifescht Element. Beispill |
Inhalt | streng | Element | Funktioun | '' | Default Inhalt Wäert wann Wann eng Funktioun gëtt, gëtt se genannt mat senger |
Retard | Zuel | Objet | 0 | Verzögerung weist a verstoppt de Popover (ms) - gëllt net fir manuell Ausléisertyp Wann eng Zuel geliwwert gëtt, gëtt Verspéidung fir béid verstoppen / weisen applizéiert Objektstruktur ass: |
html | boolesch | falsch | Setzt HTML an de Popover. Wann falsch, gëtt d'JQuery text Method benotzt fir Inhalt an d'DOM ze setzen. Benotzt Text wann Dir Iech Suergen iwwer XSS Attacken hutt. |
Placement | streng | Funktioun | 'riets' | Wéi positionéiert de Popover - Auto | erop | ënnen | lénks | riets. Wann eng Funktioun benotzt gëtt fir d'Placement ze bestëmmen, gëtt se mam Popover DOM Node als säin éischten Argument an dem ausléisende Element DOM Node als zweet genannt. De |
selector | streng | falsch | falsch | Wann e Selektor zur Verfügung gestallt gëtt, ginn Popover-Objeten op déi spezifizéiert Ziler delegéiert. An der Praxis gëtt dëst benotzt fir dynamesch HTML Inhalt z'erméiglechen fir Popovers derbäi ze hunn. Kuckt dëst an en informativt Beispill . |
Schabloun | String | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Base HTML fir ze benotzen wann Dir de Popover erstellt. D'Popover D'Popover
Déi äusserst Wrapperelement soll d' |
Titel | streng | Element | Funktioun | '' | Standard Titelwäert wann Wann eng Funktioun gëtt, gëtt se genannt mat senger |
ausléisen | String | 'klickt' | Wéi Popover ausgeléist gëtt - klickt | huel | konzentréieren | manuell. Dir kënnt verschidde Ausléiser passéieren; trennt se mat engem Raum. manual kann net mat all aner Ausléiser kombinéiert ginn. |
offset | Zuel | String | 0 | Offset vum Popover relativ zu sengem Zil. Fir méi Informatioun kuckt op dem Popper seng Offset Docs . |
fallbackPlacement | streng | Array | 'flippen' | Erlaabt ze spezifizéieren wéi eng Positioun Popper op Fallback benotzt. Fir méi Informatioun, kuckt op dem Popper seng Verhalensdokumenter |
customClass | streng | Funktioun | '' | Füügt Klassen op de Popover wann et gewise gëtt. Bedenkt datt dës Klassen zousätzlech zu all Klassen, déi an der Schabloun uginn sinn, bäigefüügt ginn. Fir méi Klassen ze addéieren, trennt se mat Plazen Dir kënnt och eng Funktioun weiderginn, déi eng eenzeg String mat zousätzlech Klassennimm zréckginn soll. |
Grenz | streng | element | 'scrollParent' | Iwwerschwemmungsgrenze vum Popover. Akzeptéiert d'Wäerter vun 'viewport' , 'window' , 'scrollParent' oder eng HTMLElement Referenz (nëmmen JavaScript). Fir méi Informatioun, kuckt op Popper's preventOverflow Dokumenter . |
sanitize | boolesch | wouer | Aktivéiert oder deaktivéiert d'Sanéierung. Wann aktivéiert 'template' , 'content' an d' 'title' Optioune ginn desinfizéiert. Kuckt de Sanitizer Sektioun an eiser JavaScript Dokumentatioun . |
wäiss Lëscht | Objet | Default Wäert | Objet deen erlaabt Attributer an Tags enthält |
sanitizeFn | null | Funktioun | null | Hei kënnt Dir Är eege Sanitärfunktioun ubidden. Dëst kann nëtzlech sinn wann Dir léiwer eng speziell Bibliothéik benotze fir Sanéierung ze maachen. |
popperConfig | null | Objet | null | Fir d'Standard Popper Configuratioun vum Bootstrap z'änneren, kuckt d' Popper Konfiguratioun |
Donnéeën Attributer fir eenzel popovers
Optiounen fir eenzel popovers kann alternativ duerch d'Benotzung vun Daten Attributer uginn ginn, wéi uewen erkläert.
Methoden
Asynchron Methoden an Iwwergäng
All API Methoden sinn asynchron a starten en Iwwergang . Si ginn zréck op den Uruffer soubal den Iwwergang ugefaang ass, awer ier en eriwwer ass . Zousätzlech gëtt e Methodruff op eng Iwwergangskomponent ignoréiert .
$().popover(options)
Initializes Popovers fir eng Element Kollektioun.
.popover('show')
Enthüllt de Popover vun engem Element. Gitt zréck op den Uruffer ier de Popover tatsächlech gewisen gouf (dh ier d' shown.bs.popover
Evenement geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Popover ugesinn. Popovers deenen hiren Titel an den Inhalt souwuel null Längt sinn, ginn ni ugewisen.
$('#element').popover('show')
.popover('hide')
Verstoppt de Popover vun engem Element. Zréck op den Uruffer ier de Popover tatsächlech verstoppt gouf (dh ier d' hidden.bs.popover
Evenement geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Popover ugesinn.
$('#element').popover('hide')
.popover('toggle')
Wiesselt de Popover vun engem Element. Zréck op den Uruffer ier de Popover tatsächlech gewisen oder verstoppt goufshown.bs.popover
( dh ier den hidden.bs.popover
Event geschitt ass). Dëst gëtt als "manuell" Ausléisung vum Popover ugesinn.
$('#element').popover('toggle')
.popover('dispose')
Verstoppt an zerstéiert de Popover vun engem Element. Popovers déi Delegatioun benotzen (déi mat der selector
Optioun erstallt ginn ) kënnen net individuell op Nofolger Trigger Elementer zerstéiert ginn.
$('#element').popover('dispose')
.popover('enable')
Gëtt dem Popover vun engem Element d'Méiglechkeet ze weisen. Popovers sinn als Standard aktivéiert.
$('#element').popover('enable')
.popover('disable')
Entfernt d'Fäegkeet fir de Popover vun engem Element ze weisen. De Popover kann nëmme gewise ginn wann et nei ageschalt ass.
$('#element').popover('disable')
.popover('toggleEnabled')
Wiesselt d'Fäegkeet fir de Popover vun engem Element ze weisen oder ze verstoppen.
$('#element').popover('toggleEnabled')
.popover('update')
Aktualiséiert d'Positioun vum Popover vun engem Element.
$('#element').popover('update')
Evenementer
Event Typ | Beschreiwung |
---|---|
show.bs.popover | Dëst Event brennt direkt wann d' show Instanzmethod genannt gëtt. |
gewisen.bs.popover | Dëst Evenement gëtt ausgeléist wann de Popover fir de Benotzer siichtbar gemaach gouf (waart bis CSS Iwwergäng fäerdeg sinn). |
hide.bs.popover | Dëst Evenement gëtt direkt gebrannt wann d' hide Instanzmethod genannt gouf. |
hidden.bs.popover | Dëst Evenement gëtt ofgeléist wann de Popover fäerdeg ass vum Benotzer verstoppt ze ginn (waart op CSS Iwwergäng fir fäerdeg ze sinn). |
agebaut.bs.popover | Dëst Evenement gëtt nom show.bs.popover Event ofgeschaaft wann d'Popover Schabloun un d'DOM bäigefüügt gouf. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})