Mandehana any amin'ny votoaty fototra Mandehana any amin'ny docs navigation
in English

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.jsizay 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 titlesy contentny 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 .disabledna disabledsinga 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-nowrapamin'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.
Amin'ny alàlan'ny default, ity singa ity dia mampiasa ny mpanadio votoaty ao anatiny, izay manaisotra ireo singa HTML tsy avela mazava. Jereo ny fizarana sanitizer ao amin'ny antontan-taratasintsika JavaScript raha mila fanazavana fanampiny.
Miankina amin'ny prefers-reduced-motionfangatahan'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-toggletoetrany:

var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
  return new bootstrap.Popover(popoverTriggerEl)
})

Ohatra: Mampiasa ny containersafidy

Rehefa manana fomba sasany amin'ny singa ray aman-dreny izay manelingelina ny popover ianao dia te-hametraka fomba amam-panao containermba 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 focustrigger 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 tabindextoetra 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 disabledtoetra 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 hovermaha-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 htmlsafidy, 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-describedbytoetra. 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 allowListtoetra 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".

Mariho fa noho ny antony fiarovana ny sanitize, sanitizeFn, ary ny allowListsafidy 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: container: 'body'. Ity safidy ity dia tena ilaina indrindra amin'ny ahafahanao mametraka ny popover amin'ny fikorianan'ny antontan-taratasy eo akaikin'ny singa mandrisika - izay hanakana ny popover tsy hitsingevana amin'ny singa mandrisika mandritra ny fanovana ny haben'ny varavarankely.

content string | singa | asa ''

Sanda votoaty default raha data-bs-contenttsy misy ny toetra.

Raha misy asa omena, dia hantsoina izy io miaraka amin'ny thisreference set amin'ny singa izay ampifandraisina amin'ny popover.

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:delay: { "show": 500, "hide": 100 }

html boolean false Ampidiro ao anaty popover ny HTML. Raha diso, innerTextny 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 autovoatondro dia hamerenana amin'ny laoniny ny popover izany.

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. thisApetraka amin'ny ohatra popover ny contexte .

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 titledia ampidirina ao amin'ny .popover-header.

Ny popover's contentdia ampidirina ao amin'ny .popover-body.

.popover-arrowho lasa zana-tsipìka popover.

Ny singa famonosana ivelany indrindra dia tokony hanana ny .popoverkilasy.

title string | singa | asa ''

Sanda titre default raha titletsy misy ny toetra.

Raha misy asa omena, dia hantsoina izy io miaraka amin'ny thisreference set amin'ny singa izay ampifandraisina amin'ny popover.

trigger tady 'click' Ahoana no nanombohan'ny popover - tsindrio | hover | mifantoka | manual. Mety handalo trigger maromaro ianao; saraho amin'ny toerana iray izy ireo. manualtsy 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: 'class-1 class-2'.

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:data-bs-offset="10,20"

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: .[skidding, distance]

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.popovernitrangan'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.popovernitrangan'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.popoverna hidden.bs.popoverhetsika). 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 showantsoina 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 hidenantsoina 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.popoverhetsika rehefa nampidirina tao amin'ny DOM ny môdely popover.
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
  // do something...
})