Popovers
Documentazione è esempi per aghjunghje popovers Bootstrap, cum'è quelli chì si trovanu in iOS, à qualsiasi elementu in u vostru situ.
Panoramica
Cose da sapè quandu si usa u plugin popover:
- Popovers s'appoghjanu nantu à a biblioteca di u terzu Popper per u posizionamentu. Duvete include popper.min.js prima di bootstrap.js o utilizate
bootstrap.bundle.min.js
/bootstrap.bundle.js
chì cuntene Popper per chì i popovers funzionanu! - Popovers necessitanu u plugin tooltip cum'è una dipendenza.
- Se custruite u nostru JavaScript da a fonte, hè necessariu
util.js
. - I popovers sò opt-in per ragioni di rendiment, cusì duvete inizializzalli voi stessu .
- A lunghezza zero
title
ècontent
i valori ùn mostraranu mai un popover. - Specificate
container: 'body'
per evità prublemi di rende in cumpunenti più cumplessi (cum'è i nostri gruppi di input, gruppi di buttone, etc.). - Triggering popovers nantu à elementi nascosti ùn funziona micca.
- Popovers per
.disabled
odisabled
elementi deve esse attivati nantu à un elementu wrapper. - Quandu sò attivati da ancore chì si avvolgenu in parechje linee, i popovers seranu centrati trà a larghezza generale di l'ancore. Aduprate
.text-nowrap
nantu à u vostru<a>
s per evità stu cumpurtamentu. - Popovers deve esse ammucciatu prima chì i so elementi currispondenti sò stati eliminati da u DOM.
- Popovers ponu esse attivati grazia à un elementu in un DOM ombra.
prefers-reduced-motion
media query. Vede a
sezione di movimentu ridottu di a nostra documentazione d'accessibilità .
Continua a leghje per vede cumu i popovers funzionanu cù alcuni esempi.
Esempiu: Habilita popovers in ogni locu
Una manera di inizializà tutti i popovers in una pagina seria di selezziunate per u so data-toggle
attributu:
$(function () {
$('[data-toggle="popover"]').popover()
})
Esempiu: Utilizà l' container
opzione
Quandu avete qualchi stili nantu à un elementu parent chì interferiscenu cù un popover, vi vulete specificà un persunalizatu container
per chì l'HTML di u popover apparisce in quellu elementu invece.
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
Esempiu
<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>
Quattru direzzione
Quattru opzioni sò dispunibuli: in cima, a diritta, in fondu è a manca allinata.
<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>
Licenziate nantu à u prossimu clic
Aduprate u focus
trigger per scaccià i popovers nantu à u prossimu clic di l'utilizatori di un elementu sfarente da l'elementu di toggle.
Marcatura specifica necessaria per dismiss-on-next-click
Per un cumpurtamentu propiu cross-browser è cross-platform, duvete aduprà l' <a>
etichetta, micca l' <button>
etichetta, è ancu deve include un tabindex
attributu.
<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'
})
Elementi disabilitati
L'elementi cù l' disabled
attributu ùn sò micca interattivi, vale à dì chì l'utilizatori ùn ponu micca sopra o cliccà per attivà un popover (o tooltip). Cum'è una soluzione, vi vulete attivà u popover da un wrapper <div>
o <span>
annullà l' pointer-events
elementu disattivatu.
Per attivatori di popover disattivati, pudete ancu preferite data-trigger="hover"
cusì chì u popover apparisce cum'è feedback visuale immediatu à i vostri utilizatori perchè ùn anu micca aspittà di cliccà nantu à un elementu disabilitatu.
<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>
Usu
Abilita popovers via JavaScript:
$('#example').popover(options)
Accelerazione GPU
A volte, i popovers appariscenu sfocati nantu à i dispositi Windows 10 per via di l'accelerazione GPU è un DPI di sistema mudificatu. A soluzione per questu in v4 hè di disattivà l'accelerazione GPU cum'è necessariu in i vostri popovers.
Soluzione suggerita:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
Fà chì i popovers funzionanu per l'utilizatori di tastiera è di tecnulugia di assistenza
Per permettà à l'utilizatori di u teclatu per attivà i vostri popovers, duvete aghjunghje solu à elementi HTML chì sò tradiziunali focalizzati in u teclatu è interattivi (cum'è ligami o cuntrolli di forma). Ancu se l'elementi HTML arbitrarii (cum'è <span>
s) ponu esse focalizzati aghjunghjendu l' tabindex="0"
attributu, questu aghjunghjenu tabulazione potenzialmente fastidiosa è confusa nantu à elementi non interattivi per l'utilizatori di u teclatu, è a maiò parte di e tecnulugie d'assistenza ùn anu micca annunziatu u cuntenutu di popover in questa situazione. . Inoltre, ùn fiate micca solu hover
cum'è u trigger per i vostri popovers, postu chì questu li farà impussibili per l'utilizatori di u teclatu.
Mentre pudete inserisce HTML riccu è strutturatu in popovers cù l' html
opzione, ricumandemu fermamente chì evità di aghjunghje una quantità eccessiva di cuntenutu. U modu chì i popovers travaglianu attualmente hè chì, una volta affissatu, u so cuntenutu hè ligatu à l'elementu di trigger cù l' aria-describedby
attributu. In u risultatu, l'interu cuntenutu di u popover serà annunziatu à l'utilizatori di a tecnulugia di assistenza cum'è un flussu longu è ininterrottu.
Inoltre, mentre hè pussibule ancu include cuntrolli interattivi (cum'è elementi di forma o ligami) in u vostru popover (aghjunghjendu questi elementi à l' whiteList
attributi è e tag permessi), sia cuscenti chì attualmente u popover ùn gestisce micca l'ordine di focus di u teclatu. Quandu un utilizatore di u teclatu apre un popover, l'enfasi resta nantu à l'elementu di attivazione, è cum'è u popover di solitu ùn seguita micca immediatamente u trigger in a struttura di u documentu, ùn ci hè micca garanzia chì avanzà / pressendu.TABmoverà un utilizatore di tastiera in u popover stessu. In breve, solu aghjunghje cuntrolli interattivi à un popover hè prubabile di rende questi cuntrolli inaccessibili / inutilizabili per l'utilizatori di u teclatu è l'utilizatori di tecnulugii d'assistenza, o almenu facenu per un ordine di focu generale illogicu. In questi casi, cunzidira à utilizà un dialogu modale invece.
Opzioni
L'opzioni ponu esse passate per attributi di dati o JavaScript. Per l'attributi di dati, aghjunghje u nome di l'opzione à data-
, cum'è in data-animation=""
.
sanitize
,
sanitizeFn
è
whiteList
ùn ponu micca esse furnite cù l'attributi di dati.
Nome | Tipu | Default | Descrizzione |
---|---|---|---|
animazione | booleanu | veru | Applica una transizione di fade CSS à u popover |
cuntainer | stringa | elementu | falsu | falsu | Appendi u popover à un elementu specificu. Esempiu: |
cuntenutu | stringa | elementu | funzione | '' | Valore di cuntenutu predeterminatu se Se una funzione hè datu, serà chjamata cù u so |
ritardu | numeru | ughjettu | 0 | Ritarda di mostra è nasconde u popover (ms) - ùn hè micca applicatu à u tipu di trigger manuale Se un numeru hè furnitu, u ritardu hè appiicatu à tramindui nascondere / mostra A struttura di l'ughjettu hè: |
html | booleanu | falsu | Inserite HTML in u popover. Se falsu, u text metudu di jQuery serà utilizatu per inserisce u cuntenutu in u DOM. Aduprate u testu s'è vo site preoccupatu per l'attacchi XSS. |
piazzamentu | stringa | funzione | 'diritta' | Cumu pusà u popover - auto | cima | fondu | manca | diritta. Quandu una funzione hè aduprata per determinà a piazza, hè chjamata cù u popover DOM node cum'è u so primu argumentu è l'elementu triggering DOM node cum'è u so secondu. U |
selettore | stringa | falsu | falsu | Se un selettore hè furnitu, l'uggetti popover seranu delegati à i miri specificati. In pratica, questu hè utilizatu per attivà u cuntenutu HTML dinamicu per avè popovers aghjuntu. Vede questu è un esempiu informativu . |
mudellu | stringa | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Base HTML per aduprà quandu crea u popover. U popover U popover
L'elementu wrapper più esterno deve avè a |
titulu | stringa | elementu | funzione | '' | Valore di u titulu predeterminatu se Se una funzione hè datu, serà chjamata cù u so |
trigger | stringa | 'cliccate' | Cume popover hè attivatu - cliccate | sopra | focus | manuale. Pudete passà parechje triggers; separali cù un spaziu. manual ùn pò esse cumminatu cù qualsiasi altru trigger. |
offset | numeru | stringa | 0 | Offset di u popover relative à u so scopu. Per più infurmazione, fate riferimentu à i documenti offset di Popper . |
fallbackPiazzamentu | stringa | array | 'flip' | Permette di specificà quale pusizioni Popper utilizerà in fallback. Per più infurmazione, fate riferimentu à i documenti di cumpurtamentu di Popper |
Classe persunalizata | stringa | funzione | '' | Aghjunghjite classi à u popover quandu si mostra. Nota chì queste classi seranu aghjunte in più di qualsiasi classi specificate in u mudellu. Per aghjunghje parechje classi, siparalli cù spazii: Pudete ancu passà una funzione chì deve rinvià una sola stringa chì cuntene nomi di classi supplementari. |
cunfini | stringa | elementu | 'scrollParent' | Limite di limitazione di overflow di u popover. Accetta i valori di 'viewport' , 'window' , 'scrollParent' , o un riferimentu HTMLElement (solu JavaScript). Per più infurmazione, riferite à Popper's preventOverflow docs . |
sanitizà | booleanu | veru | Attivà o disattivà a sanitizazione. Se attivatu 'template' , 'content' è 'title' l'opzioni seranu sanitizate. Vede a sezione di disinfettante in a nostra documentazione JavaScript . |
lista bianca | ughjettu | Valore predeterminatu | Ughjettu chì cuntene attributi permessi è tags |
sanitize Fn | null | funzione | nulla | Quì pudete furnisce a vostra propria funzione di sanitizazione. Questu pò esse utile se preferite aduprà una biblioteca dedicata per fà a sanitizazione. |
popperConfig | null | ughjettu | nulla | Per cambià a configurazione Popper predeterminata di Bootstrap, vede a cunfigurazione di Popper |
Attributi di dati per popovers individuali
L'opzioni per popovers individuali ponu esse specificati in alternativa per l'usu di l'attributi di dati, cum'è spiegatu sopra.
I metudi
Metudi asincroni è transizioni
Tutti i metudi API sò asincroni è cumincianu una transizione . Ritornanu à u chjamante appena a transizione hè iniziata, ma prima chì finisce . Inoltre, un metudu chjamatu nantu à un cumpunente di transizione serà ignoratu .
Vede a nostra documentazione JavaScript per più infurmazione .
$().popover(options)
Inizializza popovers per una cullizzioni di elementi.
.popover('show')
Revela u popover di un elementu. Ritorna à u chjamante prima chì u popover hè statu veramente mostratu (vale à dì prima chì l' shown.bs.popover
avvenimentu si faci). Questu hè cunsideratu un attivazione "manuale" di u popover. Popovers chì u titulu è u cuntenutu sò tutti dui di lunghezza zero ùn sò mai affissati.
$('#element').popover('show')
.popover('hide')
Nasconde u popover di un elementu. Ritorna à u chjamante prima chì u popover sia statu oculatu (vale à dì prima chì l' hidden.bs.popover
avvenimentu si faci). Questu hè cunsideratu un attivazione "manuale" di u popover.
$('#element').popover('hide')
.popover('toggle')
Commuta u popover di un elementu. Ritorna à u chjamante prima chì u popover sia statu veramente mostratu o oculatu (vale à dì prima chì l' avvenimentu shown.bs.popover
o hidden.bs.popover
si faci). Questu hè cunsideratu un attivazione "manuale" di u popover.
$('#element').popover('toggle')
.popover('dispose')
Oculta è distrugge u popover di un elementu. Popovers chì utilizanu a delegazione (chì sò creati cù l' selector
opzione ) ùn ponu micca esse distrutte individualmente nantu à elementi di trigger discendenti.
$('#element').popover('dispose')
.popover('enable')
Dà a popover di un elementu a capacità di esse mostrata. I popovers sò attivati per difettu.
$('#element').popover('enable')
.popover('disable')
Elimina l'abilità di mostra un popover di l'elementu. U popover pò esse mostratu solu s'ellu hè riattivatu.
$('#element').popover('disable')
.popover('toggleEnabled')
Commuta a capacità per a popover di un elementu per esse mostrata o oculata.
$('#element').popover('toggleEnabled')
.popover('update')
Aghjurnate a pusizione di popover di un elementu.
$('#element').popover('update')
Avvenimenti
Tipu d'avvenimentu | Descrizzione |
---|---|
mostra.bs.popover | Questu avvenimentu spara immediatamente quandu u show metudu di istanza hè chjamatu. |
mostratu.bs.popover | Questu avvenimentu hè sparatu quandu u popover hè statu resu visibile à l'utilizatore (aspetterà chì e transizioni CSS finiscinu). |
nascondere.bs.popover | Questu avvenimentu hè sparatu immediatamente quandu u hide metudu di istanza hè statu chjamatu. |
hidden.bs.popover | Questu avvenimentu hè sparatu quandu u popover hà finitu di esse oculatu da l'utilizatore (aspetterà chì e transizioni CSS finiscinu). |
inseritu.bs.popover | Questu avvenimentu hè sparatu dopu l' show.bs.popover avvenimentu quandu u mudellu popover hè statu aghjuntu à u DOM. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})