Skip to main content Skip ad navigationem soUicitudo
Check
in English

Popovers

Documenta et exempla addendo Bootstrap popovers, sicut ea quae in iOS inventa sunt, cuivis elementi in situ tuo.

Overview

Rerum scire quando usus est popover plugin:

  • Popoveri confidunt in tertia parte bibliothecae Popper pro positione. Ante popper.min.js includere debes bootstrap.js, vel eo uti , bootstrap.bundle.min.jsquod popper continet.
  • Popovers popover plugin sicut dependentiam require.
  • Popoveri in agendis causis optent, ergo eas te ipsum initialize oportet .
  • Nulla longitudo titleac contentvalores popover numquam ostendent.
  • Specificare container: 'body'ad vitandas difficultates in pluribus componentibus (sicut coetus input coetus, globuli, etc).
  • Felis popovers in occultis elementis non laborabit.
  • Popovers elementum .disabledvel disabledelementum Urguet in wrapper.
  • Cum ex ancoris utitur qui per plures lineas involvunt, popoveri inter latitudinem altiore ancorarum centrum erit. Utere .text-nowraptuo <a>s ad vitandum hunc mores.
  • Popovers occultari debent antequam elementa eorum correspondentia a dom.
  • Popoveri urguere potest propter elementum intra umbram dom.
Defalta, haec pars utitur sanitizer aedificato in contentis, quae exuit aliqua elementa HTML quae explicite non licet. Vide sectionem sanitizer in documentis nostris JavaScript pro magis details.
Effectus animationis huius componentis dependet ex prefers-reduced-motioninterrogatione instrumentorum. Videre motum sectionem accessibilitatis nostrae documentationis reductam .

Legere videas quomodo popovers cum aliquibus exemplis operetur.

Exempla

Admitte popovers

Ut supra, popovers initialize debes antequam adhiberi possunt. Uno modo ut omnes popoveri in pagina initializent eos ex suo data-bs-toggleattributo eligere, sic:

const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

Vivamus demo

Utimur JavaScript similes snippeti supra ad reddendam vivam popover. Titles are set via data-bs-titleand body content is set via data-bs-content.

Libenter utere vel titlevel data-bs-titlein HTML tuo. Cum titleadhibetur, Popper automatice restituet data-bs-titlecum elementum redditum est.
html
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

Quattuor directiones

Quattuor optiones praesto sunt: ​​summum, dextrum, fundum et sinistrum. Directiones speculantur cum per Bootstrap in RTL. Pone data-bs-placementmutare directionem.

html
<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>

Consuetudinemcontainer

Cum aliqua genera in parentis elemento popover impediente habeas, morem containerexprimere voles ut popover HTML in loco illo elemento appareat. Hoc commune est in tabulis responsivis, coetibus inputandis, et similibus.

const popover = new bootstrap.Popover('.example-popover', {
  container: 'body'
})

Alia condicio ubi expressam consuetudinem ponere voles, sunt popoveri dialogi modales containerintus , fac ut popover ipsum modalis apponatur . Hoc praecipue momenti est pro popovers quae elementa interactiva continent - dialogi modales umbilicum capient, ideo nisi popover parvulus est elementum modalis, utentes non poterunt haec interactiva elementa versari vel movere.

const popover = new bootstrap.Popover('.example-popover', {
  container: '.modal-body'
})

Custom popovers

Additur in v5.2.0

Possis domicilii speciem popoveri utens CSS variabilium . Consuetudo classium constituimus cum data-bs-custom-class="custom-popover"ut speciem consuetudinem nostram attingamus et ea utamur ad quasdam variabilium localium CSS delendi.

.custom-popover {
  --bs-popover-max-width: 200px;
  --bs-popover-border-color: var(--bs-primary);
  --bs-popover-header-bg: var(--bs-primary);
  --bs-popover-header-color: var(--bs-white);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: .5rem;
}
html
<button type="button" class="btn btn-secondary"
        data-bs-toggle="popover" data-bs-placement="right"
        data-bs-custom-class="custom-popover"
        data-bs-title="Custom popover"
        data-bs-content="This popover is themed via CSS variables.">
  Custom popover
</button>

Dimitte in proximo click

Felis utere focusut popovers emittat in usoris proximi cliccum alterius elementi quam toggle.

Imprimis markup requiritur ad dimittendum in proximo-click

Ad propriam transversistram et transversis suggestum agendis, <a>tag, non tag, uti debetis, et attributum <button>etiam includere debetis .tabindex

html
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
const popover = new bootstrap.Popover('.popover-dismiss', {
  trigger: 'focus'
})

Debilitatum elementis

Elementa cum disabledattributo non sunt interactive, utentes significationes non possunt volitare vel preme ea ut popover felis (vel tooltip). Pro habemus, voles ex fasciculo in popover trigger <div>vel <span>, bene uti claviaturae focusable factae tabindex="0".

Pro triggers popover debiles, etiam praeferre data-bs-trigger="hover focus"potes ut popover ut immediata visivae opiniones usoribus tuis appareat, cum in elemento debili strepere non possunt .

html
<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>

CSS

Variabilium

Additur in v5.2.0

Cum pars Bootstrap evolutionis CSS variabilium accedunt, popoveri nunc CSS variabilium localium utuntur .popoverin aucta real-time customizatione. Valores variabilium pro CSS per Sass positae sunt, ergo etiam adhuc Sass customization adiuvatur.

  --#{$prefix}popover-zindex: #{$zindex-popover};
  --#{$prefix}popover-max-width: #{$popover-max-width};
  @include rfs($popover-font-size, --#{$prefix}popover-font-size);
  --#{$prefix}popover-bg: #{$popover-bg};
  --#{$prefix}popover-border-width: #{$popover-border-width};
  --#{$prefix}popover-border-color: #{$popover-border-color};
  --#{$prefix}popover-border-radius: #{$popover-border-radius};
  --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};
  --#{$prefix}popover-box-shadow: #{$popover-box-shadow};
  --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};
  --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};
  @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);
  --#{$prefix}popover-header-color: #{$popover-header-color};
  --#{$prefix}popover-header-bg: #{$popover-header-bg};
  --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};
  --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};
  --#{$prefix}popover-body-color: #{$popover-body-color};
  --#{$prefix}popover-arrow-width: #{$popover-arrow-width};
  --#{$prefix}popover-arrow-height: #{$popover-arrow-height};
  --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);
  

Sass variables

$popover-font-size:                 $font-size-sm;
$popover-bg:                        $white;
$popover-max-width:                 276px;
$popover-border-width:              $border-width;
$popover-border-color:              var(--#{$prefix}border-color-translucent);
$popover-border-radius:             $border-radius-lg;
$popover-inner-border-radius:       subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow:                $box-shadow;

$popover-header-font-size:          $font-size-base;
$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;

Consuetudinem

Admitte popovers per JavaScript:

const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)

Faciens popovers opus est tincidunt et assistive technicae users

Ut tincidunt utentes claviaturos tuos popovers activate, eas tantum addere debes ad HTML elementa quae traditionaliter claviaturae sunt et interactiva (qualia sunt nexus vel forma controllis). Etsi arbitraria HTML elementa (qualia sunt <span>) versari possunt addito tabindex="0"attributo, hoc addet potentia molestissima et confundens tab cessat in elementis non-interacivis pro claviaturis usoribus, et technologiae maxime adiuvativae in hoc casu contentum popoveri nunc non annuntiant. . Accedit, quod popovers tuis felis non confidunt solum hover, cum hoc eis impossibile erit ut felis claviaturis usoribus efficiat.

Dum dives, HTML in popovers per htmloptionem structus, inserere potes, enixe commendamus ut nimiam rerum copiam vitare possis. Via popoveri nunc operandi est quod, semel ostensa, eorum contenta elemento felis cum aria-describedbyattributo ligatur. Quam ob rem, universitas contentorum popoveri nuntiabitur usoribus technologicis adiuvandis ut rivus diu, continuus.

Accedit, dum licet etiam interactivas potestates (qualia elementa vel nexus formare) in popover tuo (addendo his elementis allowListattributorum et tags permissorum), scias nunc popover umbilicum ordinem clavicularium non administrare. Cum usor claviaturae popover aperit, focus manet in elementum excitato, et sicut popover plerumque non statim sequitur felis in structura documenti, nulla est cautio quae progrediendo/pressit.TABusorem claviculi in ipsum popover movebit. In summa, interactivas potestates popoveri simpliciter addendo verisimile est has potestates impossibilis/inutilis reddere pro claviaturis usoribus et usoribus technologiarum adiuvantium, vel saltem ad ordinem umbilici altiore incogniti ad faciendum. In his casibus considera alternis modalibus pro utendo.

Optiones

Cum optiones transeantur per data attributa vel JavaScript, potes appendere nomen optionis data-bs-, ut in data-bs-animation="{value}". Fac mutare casus genus optionis nominis ab " camelCase " ad " kebab-casum " cum transeundo optiones per data attributa. Exempli gratia data-bs-custom-class="beautifier"loco data-bs-customClass="beautifier".

Sicut de Bootstrap 5.2.0, omnia membra experimentalem datam reservatam sustinent data-bs-configquae figuram simplicem componentem sicut chorda JSON domum habere potest. Cum elementum habet data-bs-config='{"delay":0, "title":123}'et data-bs-title="456"attributa, valor finalis titleerit 456et attributa separata data valores supra datos vincent data-bs-config. Praeterea exsistentes notitiae attributae possunt domum JSON valores similes data-bs-delay='{"show":0,"hide":150}'.

Nota quod propter rationes securitatis sanitize, sanitizeFn, et allowListoptiones non possunt suppeditari usura attributa data.
Nomen Type Default Descriptio
allowList object Default valorem Obiectum quod continet concessa attributa et tags.
animation Boolean true Adhibe CSS fades transitus ad popover.
boundary filum, elementum 'clippingParents' Superfluum coactionis limitis popoveri (solum applicativum praeventionis Popper's determinationis). Per defaltam, suus 'clippingParents'et HTMLElement reference (per JavaScript only). For more information refer to Popper's detectOverflow docs .
container chorda, elementum, fals false Ponit popover ad elementum specificum. Exemplum: container: 'body'. Haec optio maxime utilis est in eo quod popover in fluxu tabellae prope excitato elementi te collocare sinit - quae popover ne a emissatione elementi per fenestram resize natare prohibebit.
content filum, elementum, munus '' Default contentus valorem, si data-bs-contentattributum non est praesens. Si munus detur, vocabitur cum sua thisreferentia ad elementum quod adnexum est popover.
customClass filum, munus '' Classes ad popoverum adde cum ostenditur. Nota has classes additas esse omnibus generibus in template specificatis. Ad multiplices classes, spatiis eas separa: 'class-1 class-2'. Munus praeterea praeterire potes quod chorda unica referat quae adiectis nominibus classis continentur.
delay numerus, object 0 Mora ostendens et occultans popover (ms) - non convenit ad genus felis manualis. Si numerus suppleatur, mora utrique operi/showi applicatur. Objectum structura est: delay: { "show": 500, "hide": 100 }.
fallbackPlacements filum, array ['top', 'right', 'bottom', 'left'] Define placements fallback providens indices placementorum in ordine (in ordine praepositorum). For more information refer to Popper's conversations docs .
html Boolean false Concede HTML in popover. Si verum est, HTML tags in popover titlereddetur in popover. Si falsus, innerTextcontenta in possessionem adhibebitur dom. Utere textu si de oppugnationibus XSS sollicitus es.
offset numerus, chorda, munus [0, 0] Offset popover ad suum scopum. Filum transire potes in data attributis cum commate valores separatos similes: data-bs-offset="10,20". Cum munus cinguli definiendi adhibetur, cum obiecto popperum collocationem, relationem continet, et popper ut primum argumentum corrigit. Nodus domne elementum excitato praecessit ut secundum argumentum. Munus ordinatim reddere debet cum duobus numeris: iaculatione , distantia . For more information refer to Popper's offset docs .
placement filum, munus 'top' Quomodo positionem popover: auto, summum, fundum, sinistram, dextram. Cum autospecificatur, dynamice reorient faciet popover. Cum munus collocationis determinare adhibetur, cum popover dom node ut primum argumentum et elementum nodi domne sicut secundae excitato appellatur. Contextus ad exemplum popoveri thispositum est.
popperConfig nullum, objectum, munus null Mutare Bootstrap default Popper config, vide configurationem Popper . Cum munus ad configurationem Popper creare adhibetur, cum obiecto dicitur, quod default Popper configurationem Bootstrap continet. Iuvat uteris et defaltam cum propria configuratione confundas. Munus obiecto configurationem reddere debet pro Popper.
sanitize Boolean true Admitte vel disable sanitization. Si actum 'template', 'content'et 'title'bene sanitized.
sanitizeFn nullum, munus null Hic tu munus tuum inconsideratus supplere potes. Hoc utile esse potest si bibliotheca dedicata uti mavis sanitizationem praestare.
selector filum, falsus false Si electrix cautum sit, res popover ad scuta determinata delegabuntur. In praxi, hoc etiam popovers adhibere adhibetur ad elementa dom dynamice addita ( jQuery.onauxilium). Vide hanc quaestionem et exemplum informativum . Nota : titleattributum non debet uti electrix.
template filum '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' Basi HTML uti cum popover creando. titlePopover in injicietur .popover-inner. .popover-arrowsagitta popover fiet. Extremum elementum fasciculus debet habere .popovergenus et role="popover".
title filum, elementum, munus '' Default title valorem si titleattributum non est praesens. Si munus detur, vocabitur cum sua thisreferentia ad elementum quod adnexum est popover.
trigger filum 'hover focus' Quomodo popover utitur: preme, hove, focus, manuale. Plures triggers transire potes; eosque spatio. 'manual'indicat popover in grammatice via .popover('show')ac modos .popover('hide')urguere ; .popover('toggle')Hoc valore cum aliqua alia felis componi non potest. 'hover'sponte autem evenit in popovers qui per tincidunt urgueri non potest, et solum adhiberi debet si alternatio methodi ad easdem informationes deferendi adsit claviaturarum usorum.

Data singulis popovers

Optiones singularum popoverarum per usum attributorum datorum, ut supra dictum est, determinari possunt.

Munus cum usurapopperConfig

const popover = new bootstrap.Popover(element, {
  popperConfig(defaultBsPopperConfig) {
    // const newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

Methodi

Modi asynchronous et transitus

Omnes API modi asynchroni sunt et transitus committitur . Redeunt ad RECENS mox ut transitus incipiat sed antequam finiatur . Methodus praeterea in transitus transeuntis ignorabitur .

See our JavaScript documentation for more information .

Methodus Descriptio
disable Facultatem removet popover elementi exhibendi. Popover tantum ostendi poterit si re- parari potest.
dispose Coria et popover elementi destruit (data removet condita in elementum dom). Popoveri qui delegatione utuntur ( quae selectoroptione utente creantur ) singulariter destrui non possunt in elementis felis descendentibus.
enable Elementi popover facultatem demonstrandi dat. Popovers per defaltam possunt.
getInstance Ratio static, quae te permittit ut instantia popoveri cum elemento DOM coniungitur .
getOrCreateInstance Statica methodus, quae permittit ut instantia popoveri cum elemento DOM coniungitur, aut novum crea in casu non initialized erat.
hide Cras elementum popover. Redit ad salutatorem ante popover occultatum (id ante hidden.bs.popovereventum). Hoc "manuale" excitato popover consideratur.
setContent Modum dat mutandi contentus popover post initializationem.
show Elementum aperit popover. RECENS REVERIT ante popover ostensum est (id antequam shown.bs.popoverevenit). Hoc "manuale" excitato popover consideratur. Popoveri cuius titulus et contenta utraque nulla longitudo numquam ostenditur.
toggle Toggles popover elementum est. RECENS REcurrit antequam popover re vera aut occulta (id est ante eventum shown.bs.popovervel hidden.bs.popoverevenit). Hoc "manuale" excitato popover consideratur.
toggleEnabled Toggles facultatem popoveri elementi exhibendi vel occultandi.
update Renovat positionem popover elementi.
// getOrCreateInstance example
const popover = bootstrap.Popover.getOrCreateInstance('#example') // Returns a Bootstrap popover instance

// setContent example
myPopover.setContent({
  '.popover-header': 'another title',
  '.popover-body': 'another content'
})
Modus argumentationem setContentaccipit object, ubi quaelibet proprietas-clavis stringintra popover templates validum est electrix, et quaelibet proprietas relativa esse potest string| element| function| null

Events

Eventus Descriptio
hide.bs.popover Hic eventus statim accensus est, cum hidemethodus instantia vocata est.
hidden.bs.popover Eventus hic accensus est cum popover ab usore celatum absolvit (exspectabit CSS transitus ad perficiendum).
inserted.bs.popover Hic eventus post show.bs.popovereventum accensus est cum popover templates domno additum est.
show.bs.popover Huius rei accendit statim cum showinstantia methodus appellatur.
shown.bs.popover Eventus hic accensus est cum popover utenti utenti factus est (exspectabit CSS transitus ad perficiendum).
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})