Popovers
Documentation sy ohatra amin'ny fampidirana popovers Bootstrap, toy ny hita ao amin'ny iOS, amin'ny singa rehetra ao amin'ny tranokalanao.
Overview
Zavatra tokony ho fantatra rehefa mampiasa ny plugin popover:
- Miantehitra amin'ny tranokalan'ny antoko faha-3 Popper ny Popovers amin'ny fametrahana toerana. Tsy maintsy ampidirinao ny popper.min.js alohan'ny bootstrap.js na ampiasao
bootstrap.bundle.min.js
/bootstrap.bundle.js
izay misy Popper mba hahafahan'ny popovers miasa! - Ny Popovers dia mitaky ny plugin tooltip ho fiankinan-doha.
- Popovers dia nisafidy noho ny antony fampisehoana, noho izany dia tsy maintsy ataonao voalohany izy ireo .
- Ny halavan'ny aotra
title
sycontent
ny soatoavina dia tsy hampiseho popover velively. - Mariho
container: 'body'
mba tsy hisian'ny olana amin'ny singa sarotra kokoa (toy ny vondrona fampidirana, vondrona bokotra, sns). - Tsy mandeha ny famelezana popover amin'ny singa miafina.
- Ny popovers ho an'ny
.disabled
nadisabled
singa dia tsy maintsy alefa amin'ny singa wrapper. - Rehefa avy amin'ny vatofantsika mihodidina andalana maromaro, ny popovers dia ho ivon'ny sakan'ny sakan'ny vatofantsika. Ampiasao
.text-nowrap
amin'ny<a>
s anao mba hialana amin'izany fihetsika izany. - Tsy maintsy afenina ny popovers alohan'ny hanesorana ireo singa mifandraika aminy ao amin'ny DOM.
- Ny popovers dia azo ariana noho ny singa iray ao anaty aloka DOM.
prefers-reduced-motion
fangatahan'ny haino aman-jery ny fiantraikan'ity singa ity. Jereo ny
fizarana mihetsika mihena amin'ny antontan-taratasinay momba ny fahafahana miditra .
Tohizo ny famakiana hahitana ny fomba fiasan'ny popovers miaraka amin'ny ohatra sasany.
Ohatra: Alefaso ny popovers na aiza na aiza
Ny fomba iray hanombohana ny popovers rehetra amin'ny pejy iray dia ny fisafidianana azy ireo amin'ny data-bs-toggle
toetrany:
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
Ohatra: Mampiasa ny container
safidy
Rehefa manana fomba sasany amin'ny singa ray aman-dreny izay manelingelina ny popover ianao dia te-hametraka fomba amam-panao container
mba hisehoan'ny HTML ny popover ao anatin'io singa io.
var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
container: 'body'
})
OHATRA
<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>
Lalana efatra
Misy safidy efatra: ambony, havanana, ambany ary havia. Hita taratra ny lalana rehefa mampiasa Bootstrap amin'ny RTL.
<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>
Alefaso amin'ny tsindrio manaraka
Ampiasao ny focus
trigger hanilika ny popovers amin'ny fipihana manaraka ataon'ny mpampiasa amin'ny singa hafa noho ny singa toggle.
Fanamafisana manokana ilaina amin'ny fandroahana-amin'ny-tsindrio manaraka
Ho an'ny fitondran-tena mifanandrify amin'ny navigateur sy cross-platform dia tsy maintsy mampiasa ny <a>
marika ianao, fa tsy ny <button>
tag, ary tsy maintsy ampidirinao koa ny tabindex
toetra iray.
<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'
})
singa kilemaina
Ny singa manana ny disabled
toetra dia tsy mifampiresaka, midika izany fa tsy afaka mivezivezy na manindry azy ireo ny mpampiasa mba hanesorana popover (na tooltip). Amin'ny maha-famoahana azy dia te-hamosika ny popover avy amin'ny fonony ianao <div>
na <span>
, izay natao hifantoka amin'ny klavier amin'ny fampiasana tabindex="0"
.
Ho an'ireo mpikatroka popover kilemaina, azonao atao koa data-bs-trigger="hover focus"
ny mampahatsiahy ny mpampiasa anao fa ny popover dia miseho ho fanehoan-kevitra hita maso eo no ho eo amin'ireo mpampiasa anao satria mety tsy hanantena izy ireo hanindry singa kilemaina.
<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
hiovaova
$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);
Fampiasana
Alefaso ny popovers amin'ny JavaScript:
var exampleEl = document.getElementById('example')
var popover = new bootstrap.Popover(exampleEl, options)
Mampiasa popovers ho an'ireo mpampiasa teknolojia manampy
Mba hahafahan'ireo mpampiasa kitendry hampavitrika ny popover-nao, dia tokony ampidirinao amin'ny singa HTML izay azo ifantohan'ny klavier mahazatra sy ifanakalozan-kevitra (toy ny rohy na fifehezana endrika). <span>
Na dia azo atao hifantoka amin'ny fampidirana ilay toetra aza ny singa HTML tsy misy dikany (toy ny s) tabindex="0"
, dia hanampy ny fijanonan'ny tabilao mety hanelingelina sy mampisafotofoto amin'ny singa tsy mifampiraharaha ho an'ny mpampiasa klavier, ary ny ankamaroan'ny teknolojia manampy amin'izao fotoana izao dia tsy manambara ny votoatin'ny popover amin'ity toe-javatra ity. . Fanampin'izay, aza miantehitra fotsiny amin'ny hover
maha-trigger ho an'ny popovers-nao, satria izany dia hahatonga azy ireo tsy ho afaka hi-trigger ho an'ny mpampiasa klavier.
Na dia azonao atao aza ny mampiditra HTML manankarena sy voarafitra ao anaty popovers miaraka amin'ny html
safidy, dia manoro hevitra mafy izahay mba tsy hampidirana votoaty be loatra. Ny fomba fiasan'ny popovers amin'izao fotoana izao dia ny hoe, rehefa aseho, ny votoatiny dia mifamatotra amin'ny singa trigger miaraka amin'ny aria-describedby
toetra. Vokatr'izany, ny votoatin'ny popover dia hambara amin'ireo mpampiasa teknolojia manampy ho toy ny renirano lava tsy tapaka.
Fanampin'izany, na dia azo atao aza ny mampiditra fanaraha-maso ifanakalozan-kevitra (toy ny singa endrika na rohy) ao amin'ny popover-nao (amin'ny fampidirana ireo singa ireo amin'ny allowList
toetra sy marika navela), dia tadidio fa ny popover amin'izao fotoana izao dia tsy mitantana ny filaharana mifantoka amin'ny klavier. Rehefa manokatra popover ny mpampiasa klavier dia mijanona amin'ny singa mandrisika ny fifantohana, ary satria matetika tsy manaraka avy hatrany ny trigger ao amin'ny firafitry ny antontan-taratasy ny popover, dia tsy misy antoka fa handroso/fanindry.TABdia hamindra mpampiasa kitendry ao anaty popover mihitsy. Raha fintinina, ny fampidirana fotsiny ny fanaraha-maso ifandrimbonana amin'ny popover dia mety hahatonga ireo fanaraha-maso ireo ho tsy azo tratrarina/tsy azo ampiasaina ho an'ireo mpampiasa klavier sy ireo mpampiasa teknolojia manampy, na farafaharatsiny manao lamina fifantohana tsy mitombina. Amin'ireo tranga ireo dia diniho ny fampiasana fifanakalozan-dresaka modal.
FANDIKANA
Ny safidy dia azo alefa amin'ny alàlan'ny toetran'ny data na JavaScript. Ho an'ny toetran'ny data, ampidiro amin'ny data-bs-
, toy ny ao amin'ny data-bs-animation=""
. Ataovy azo antoka ny manova ny karazana tranga amin'ny anarana safidy avy amin'ny camelCase ho kebab-case rehefa mandalo ny safidy amin'ny alàlan'ny toetran'ny data. Ohatra, fa tsy mampiasa data-bs-customClass="beautifier"
, ampiasao data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
, ary ny
allowList
safidy dia tsy azo omena amin'ny alàlan'ny toetran'ny data.
Anarana | Type | toerana misy anao | Description |
---|---|---|---|
animation |
boolean | true |
Ampiharo CSS fade transition amin'ny popover |
container |
string | singa | DISO | false |
Manampy ny popover amina singa iray manokana. Ohatra: |
content |
string | singa | asa | '' |
Sanda votoaty default raha Raha misy asa omena, dia hantsoina izy io miaraka amin'ny |
delay |
laharana | zavatra | 0 |
Fanemorana ny fampisehoana sy ny fanafenana ny popover (ms) - tsy mihatra amin'ny karazana trigger manual Raha misy isa omena dia mihatra amin'ny fanafenana/seho ny fahatarana Ny firafitry ny zavatra dia: |
html |
boolean | false |
Ampidiro ao anaty popover ny HTML. Raha diso, innerText ny fananana dia hampiasaina hampidirana votoaty ao amin'ny DOM. Mampiasà lahatsoratra raha manahy momba ny fanafihana XSS ianao. |
placement |
string | asa | 'right' |
Ahoana ny fametrahana ny popover - auto | ambony | ambany | ankavia | marina. Rehefa ampiasaina hamaritana ny fametrahana ny asa iray, dia antsoina miaraka amin'ny node popover DOM ho tohan-kevitra voalohany ary ny singa DOM node ho azy faharoa. |
selector |
string | DISO | false |
Raha misy mpifidy omena, ny zavatra popover dia atolotra amin'ireo tanjona voafaritra. Amin'ny fampiharana, izany dia ampiasaina mba ahafahan'ny votoaty HTML mavitrika hampidirana popovers. Jereo ity ary ohatra misy fampahalalana . |
template |
tady | '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Base HTML ampiasaina rehefa mamorona ny popover. Ny popover's Ny popover's
Ny singa famonosana ivelany indrindra dia tokony hanana ny |
title |
string | singa | asa | '' |
Sanda titre default raha Raha misy asa omena, dia hantsoina izy io miaraka amin'ny |
trigger |
tady | 'click' |
Ahoana no nanombohan'ny popover - tsindrio | hover | mifantoka | manual. Mety handalo trigger maromaro ianao; saraho amin'ny toerana iray izy ireo. manual tsy azo atambatra amin'ny trigger hafa. |
fallbackPlacements |
fihaingoana | ['top', 'right', 'bottom', 'left'] |
Farito ny fametraham-pialana amin'ny alalan'ny fanomezana lisitr'ireo toerana ao anaty laharan-kira (arakaraka ny tiana). Raha mila fanazavana fanampiny dia jereo ny doka momba ny fitondran-tenan'i Popper |
boundary |
string | singa | 'clippingParents' |
fetran'ny faneriterena mihoa-pampana amin'ny popover (mihatra amin'ny modifier preventOverflow an'i Popper ihany). Amin'ny alàlan'ny default dia izy io 'clippingParents' ary afaka manaiky reference HTMLElement (amin'ny JavaScript ihany). Raha mila fanazavana fanampiny dia jereo ny Popper's detectOverflow docs . |
customClass |
string | asa | '' |
Ampio kilasy amin'ny popover rehefa aseho izany. Mariho fa ampiana ireo kilasy ireo ho fanampin'ny kilasy voalaza ao amin'ny môdely. Mba hanampiana kilasy maromaro, saraho amin'ny habaka: Azonao atao ihany koa ny mandefa asa iray izay tokony hamerina tady tokana misy anarana kilasy fanampiny. |
sanitize |
boolean | true |
Alefaso na esory ny fanadiovana. Raha activated 'template' , 'content' dia 'title' hodiovina ny safidy. Jereo ny fizarana sanitizer ao amin'ny antontan-taratasy JavaScript . |
allowList |
zavatra | Sanda default | Zavatra misy toetra sy marika navela |
sanitizeFn |
null | asa | null |
Eto ianao dia afaka manome ny asa fanadiovana anao manokana. Mety ilaina izany raha tianao ny mampiasa tranomboky natokana hanaovana fanadiovana. |
offset |
array | string | asa | [0, 8] |
Offset ny popover mifandray amin'ny tanjona. Azonao atao ny mandefa tady amin'ny toetra angon-drakitra miaraka amin'ny sanda misaraka faingo toy ny: Rehefa ampiasaina hamaritana ny offset ny asa iray, dia antsoina amin'ny zavatra misy ny fametrahana popper, ny reference, ary ny popper rects ho hevitra voalohany. Ny node DOM node dia alefa ho tohan-kevitra faharoa. Ny asa dia tsy maintsy mamerina array misy isa roa: . Raha mila fanazavana fanampiny dia jereo ny doka offset an'i Popper . |
popperConfig |
null | object | asa | null |
Raha hanova ny config Popper default an'ny Bootstrap dia jereo ny configuration Popper . Rehefa ampiasaina hamoronana ny konfigurasi Popper ny fiasa iray, dia antsoina miaraka amin'ny zavatra iray misy ny fanovana Popper default an'ny Bootstrap. Manampy anao hampiasa sy hanambatra ny default amin'ny tefitranonao manokana izany. Ny asa dia tsy maintsy mamerina zavatra fanamafisam-peo ho an'ny Popper. |
Toetran'ny data ho an'ny popovers tsirairay
Ny safidy ho an'ny popovers tsirairay dia azo faritana amin'ny alàlan'ny fampiasana ny toetran'ny data, araka ny hazavaina etsy ambony.
Fampiasana asa miaraka amin'nypopperConfig
var popover = new bootstrap.Popover(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
fomba
Fomba sy fifindrana asynchronous
Ny fomba API rehetra dia asynchronous ary manomboka tetezamita . Miverina any amin'ny mpiantso izy ireo raha vao manomboka ny tetezamita fa alohan'ny hifarana . Ho fanampin'izany, tsy hojerena ny fiantsoana fomba iray amin'ny singa tetezamita .
Jereo ny antontan-taratasintsika JavaScript raha mila fanazavana fanampiny .
FAMPISEHOANA
Mampiseho popover singa iray. Miverina any amin'ny mpiantso alohan'ny tena naseho ny popover (izany hoe alohan'ny shown.bs.popover
nitrangan'ny hetsika). Izany dia heverina ho "manual" triggering ny popover. Popovers izay samy aotra ny lohateniny sy ny atiny dia tsy aseho mihitsy.
myPopover.show()
afeno ny
Manafina ny popover an'ny singa iray. Miverina amin'ny mpiantso alohan'ny nafenina ny popover (izany hoe alohan'ny hidden.bs.popover
nitrangan'ny hetsika). Izany dia heverina ho "manual" triggering ny popover.
myPopover.hide()
mifamadika
Manova ny popover an'ny singa iray. Miverina any amin'ny mpiantso alohan'ny naseho na nafenina ny popover (izany hoe talohan'ny nitrangan'ny shown.bs.popover
na hidden.bs.popover
hetsika). Izany dia heverina ho "manual" triggering ny popover.
myPopover.toggle()
Ario
Manafina sy manimba ny popover an'ny singa iray (Esory ny angona voatahiry ao amin'ny singa DOM). Popovers izay mampiasa delegasiona (izay noforonina amin'ny alalan'ny safidy selector
) dia tsy azo ravana tsirairay amin'ny singa trigger taranaka.
myPopover.dispose()
Tadiavo
Manome popover singa iray ny fahafahana aseho. Popovers dia alefa amin'ny alàlan'ny default.
myPopover.enable()
disable
Esory ny fahafahana hanehoana ny popover an'ny singa iray. Ny popover dia tsy ho azo aseho raha toa ka alefa indray.
myPopover.disable()
toggleEnabled
Manova ny fahafahan'ny popover an'ny singa iray aseho na afenina.
myPopover.toggleEnabled()
vaovao farany
Manavao ny toeran'ny popover an'ny singa iray.
myPopover.update()
getInstance
Fomba static izay ahafahanao mahazo ny ohatra popover mifandray amin'ny singa DOM
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
getOrCreateInstance
Fomba static izay ahafahanao mahazo ny ohatra popover mifandray amin'ny singa DOM, na mamorona vaovao raha toa ka tsy natomboka izany
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
zava-mitranga
Karazana hetsika | Description |
---|---|
show.bs.popover | Mirehitra avy hatrany ity hetsika ity rehefa show antsoina ny fomba fiasa. |
aseho.bs.popover | Ity hetsika ity dia alefa rehefa naseho ho hitan'ny mpampiasa ny popover (hiandry ny famitana ny fifindrana CSS). |
hide.bs.popover | Ity hetsika ity dia alefa avy hatrany rehefa hide nantsoina ny fomba fiasa. |
hidden.bs.popover | Ity hetsika ity dia alefa rehefa vita ny nafenina tamin'ny mpampiasa ny popover (hiandry ny famitana ny fifindrana CSS). |
inserted.bs.popover | Ity hetsika ity dia alefa aorian'ny show.bs.popover hetsika rehefa nampidirina tao amin'ny DOM ny môdely popover. |
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
// do something...
})