Popovers
Sahypaňyzdaky islendik elemente iOS-da tapylanlar ýaly Bootstrap popoversini goşmak üçin resminamalar we mysallar.
Gysgaça syn
Açylýan plugin ulanylanda bilmeli zatlar:
- Popovers ýerleşmek üçin 3-nji tarap kitaphanasy Popper -ä bil baglaýar . Bootstrap.js-dan öň popper.min.js goşmaly ýa -da popoversiň işlemegi üçin Popper-i ulanmaly
bootstrap.bundle.min.js
/ ulanmalybootstrap.bundle.js
! - Popovers garaşlylyk hökmünde gurallar pluginini talap edýär.
- Popovers öndürijilik sebäplerine görä saýlanýar, şonuň üçin olary özüňiz başlamaly .
- Nol uzynlygy
title
wecontent
bahalary hiç haçan açylmaz. container: 'body'
Has çylşyrymly komponentlerde kynçylyk döretmezligi kesgitläň (giriş toparlarymyz, düwme toparlarymyz we ş.m.) .- Gizlin elementlerde açylan popowerler işlemez.
- Elementler
.disabled
ýa-dadisabled
elementler üçin ýazgylar, örtük elementinde başlamaly. - Birnäçe setir bilen gurşalan labyrlardan başlanda, gämi duralgalarynyň umumy giňliginiň arasynda jemlener. Bu gylyk-häsiýetden gaça durmak üçin s-leri
.text-nowrap
ulanyň .<a>
- Popovers degişli elementleri DOM-dan aýrylmazdan ozal gizlenmeli.
- Popovers kölegeli DOM içindäki bir elementiň kömegi bilen ýüze çykyp biler.
prefers-reduced-motion
media talaplaryna baglydyr. Elýeterlilik resminamalarymyzyň azaldylan hereket bölümine serediň
.
Käbir mysallar bilen popoversiň nähili işleýändigini görmek üçin okaň.
Mysal: Her ýerde popovers açyň
Sahypadaky ähli açyjylary başlamagyň bir usuly, olary data-bs-toggle
atributlary boýunça saýlamak bolar:
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
Mysal: container
Opsiýany ulanmak
Esasy elementde popover-a päsgel berýän käbir stilleriňiz bar bolsa, container
aç-açan HTML-iň ýerine şol elementiň içinde peýda bolmagy üçin bir adat görkezmek islärsiňiz.
var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
container: 'body'
})
Mysal
<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>
Dört ugur
Dört wariant bar: ýokarky, sag, aşaky we çep deňleşdirilen. RTL-de Bootstrap ulanylanda görkezmeler aýnalanýar.
<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>
Indiki gezek basyň
focus
Ulanyjynyň üýtgetmek elementinden başga bir elementiň indiki gezek basylmagynda triggerleri ulanyň .
Işden çykarmak üçin indiki basmak üçin zerur bellik
Dogry kross-brauzer we platforma bilen özüňi alyp barmak üçin belligi däl -de, <a>
belligi ulanmaly, bir atribut hem goşmaly .<button>
tabindex
<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'
})
Öçürilen elementler
Sypaty bolan elementler disabled
interaktiw däl, ýagny ulanyjylar bir popover (ýa-da gural görkezmesi) açmak üçin basyp ýa-da basyp bilmeýärler. Iş usuly hökmünde, aç-açan önümi bir gabykdan <div>
ýa-da iň <span>
oňat klawiatura gönükdirilen ulanyp başlarsyňyz tabindex="0"
.
Maýyp popover triggerleri üçin, popover ulanyjylaryňyza ýapyk elemente basmagynadata-bs-trigger="hover focus"
garaşmazlygy sebäpli derrew wizual seslenme bolup görünmegini isläp bilersiňiz .
<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
Üýtgeýjiler
$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);
Ulanylyşy
JavaScript arkaly açylýan ýerleri açyň:
var exampleEl = document.getElementById('example')
var popover = new bootstrap.Popover(exampleEl, options)
Klawiatura we kömekçi tehnologiýa ulanyjylary üçin popovers işlemek
Klawiatura ulanyjylarynyň açylýan ýerleriňizi işjeňleşdirmegine rugsat bermek üçin olary diňe klawiatura gönükdirilen we interaktiw (baglanyşyklar ýa-da forma dolandyryşlary ýaly) HTML elementlerine goşmaly. Hususy HTML elementleri (meselem <span>
) tabindex="0"
atribut goşmak arkaly ünsi jemläp boljakdygyna garamazdan, bu klawiatura ulanyjylary üçin interaktiw däl elementlere potensial gaharlandyryjy we bulaşyk goýma duralgalaryny goşar we häzirki wagtda köp kömekçi tehnologiýalar bu ýagdaýda popoveriň mazmunyny yglan etmeýär. . hover
Mundan başga-da, diňe açýanlaryňyz üçin trigger hökmünde bil baglamaň , sebäbi bu klawiatura ulanyjylary üçin itergi bermez.
Opsiýa bilen popoverslere baý, gurluşly HTML goýup bilersiňiz html
, aşa köp mazmun goşmazlygy maslahat berýäris. aria-describedby
Häzirki wagtda açylýan işleriň usuly, bir gezek görkezilenden soň, mazmuny atribut bilen trigger elementine baglydyr. Netijede, açylan mazmunyň tutuşlygyna tehnologiýa ulanyjylaryna bir uzyn, üznüksiz akym hökmünde kömek etmek yglan ediler.
Mundan başga-da, girýän ýeriňize interaktiw dolandyryşlary (forma elementleri ýa-da baglanyşyklar ýaly) goşmak mümkin bolsa-da (bu elementleri allowList
rugsat berlen atributlara we belliklere goşmak bilen), häzirki wagtda açylýan klawiaturanyň fokus tertibini dolandyrmaýandygyny biliň. Klawiatura ulanyjy açylýan ýerini açanda, ünsi tüweleme elementine gönükdirýär we popover adatça resminamanyň gurluşynda triggeri yzarlamaýandygy sebäpli, öňe gitmek / basmak kepilligi ýokTABklawiatura ulanyjysyny açylýan ýerine geçirer. Gysgaça aýdylanda, aç-açan ýerine interaktiw dolandyryşlary goşmak, bu dolandyryşlary klawiatura ulanyjylary we kömekçi tehnologiýalary ulanyjylar üçin elýeterli / ulanyp bolmajak ýa-da iň bolmanda logiki däl fokus tertibini döredip biler. Bu ýagdaýlarda, ýerine modal gepleşik penjiresini ulanmagy göz öňünde tutuň.
Görnüş
Opsiýalar maglumat atributlary ýa-da JavaScript arkaly geçirilip bilner. Maglumat atributlary üçin, opsiýanyň adyny data-bs-
bolşy ýaly goşuň data-bs-animation=""
. Opsiýalary maglumat atributlary arkaly geçireniňizde, opsiýanyň adynyň görnüşini kamelCase-den kebab-kase üýtgediň. Mysal üçin, ulanmagyň ýerine data-bs-customClass="beautifier"
ulanyň data-bs-custom-class="beautifier"
.
sanitize
,
sanitizeFn
we
allowList
atributlary maglumat atributlaryny ulanyp üpjün edip bolmajakdygyny unutmaň.
Ady | Görnüşi | Bellenen | Düşündiriş |
---|---|---|---|
animation |
boolean | true |
Açylýan ýerine CSS solgun geçişini ulanyň |
container |
setir | element | ýalan | false |
Açylýan ýeri belli bir elemente goşýar. Mysal : |
content |
setir | element | funksiýasy | '' |
Sypat ýok bolsa, deslapky mazmun bahasy Eger bir funksiýa berilse, |
delay |
sany | obýekt | 0 |
Açylýan ýeri (ms) görkezmek we gizlemek - el bilen trigger görnüşine degişli däl San berilse, gizlemek / görkezmek üçin gijikdirme ulanylýar Obýektiň gurluşy: |
html |
boolean | false |
Açylýan ýere HTML salyň. Falsealan bolsa innerText , DOM-a mazmun goýmak üçin emläk ulanylar. XSS hüjümleri barada alada edýän bolsaňyz, tekst ulanyň. |
placement |
setir | funksiýasy | 'right' |
Açylýan ýeri nädip ýerleşdirmeli - awto | ýokarky | aşaky | çep | dogry. Görkezilende, popover-i dinamiki üýtgeder Locationerleşişi kesgitlemek üçin bir funksiýa ulanylanda, ilkinji argumenti hökmünde çykýan DOM düwünine, ikinjisi hökmünde hereketlendiriji element DOM düwünine diýilýär. Kontekst |
selector |
setir | ýalan | false |
Eger saýlaýjy üpjün edilse, açylan obýektler görkezilen nyşanlara berler. Iş ýüzünde, dinamiki HTML mazmunyny açýanlary goşmak üçin ulanylýar. Muny we maglumat beriji mysaly görüň . |
template |
setir | '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Açylýan ýer döredilende ulanjak HTML-i esaslaň. Açylanlaryň Açylanlaryň
Daşky örtük elementi |
title |
setir | element | funksiýasy | '' |
Sypat ýok bolsa, deslapky at bahasy Eger bir funksiýa berilse, |
trigger |
setir | 'click' |
Nädip açylýandygy - basyň | aýlanmak | fokus | gollanma. Birnäçe trigger geçirip bilersiňiz; boşluk bilen bölüň. manual başga bir trigger bilen birleşdirip bolmaz. |
fallbackPlacements |
massiw | ['top', 'right', 'bottom', 'left'] |
Yzyna ýerleşdirilişleri sanawda (isleg boýunça) ýerleşdirmek arkaly kesgitläň. Has giňişleýin maglumat üçin Popperiň özüni alyp baryş resminamalaryna serediň |
boundary |
setir | elementi | 'clippingParents' |
Açylýan ýeriň aşýan çäk çäkleri (diňe Popper-iň öňüni alýanOverflow modifikatoryna degişlidir). Düzgüne görä, ol 'clippingParents' HTMLElement salgylanmasyny kabul edip biler (diňe JavaScript arkaly). Has giňişleýin maglumat üçin Popper-iň detectOverflow resminamalaryna serediň . |
customClass |
setir | funksiýasy | '' |
Görkezilende açylýan ýere sapak goşuň. Bu synplaryň şablonda görkezilen islendik sapaklara goşmaça goşuljakdygyny unutmaň. Birnäçe synp goşmak üçin boşluklar bilen bölüň : Şeýle hem goşmaça synp atlaryny öz içine alýan bir setiri yzyna gaýtarmaly funksiýany geçirip bilersiňiz. |
sanitize |
boolean | true |
Arassaçylygy işletmek ýa-da öçürmek. Işledilen 'template' bolsa 'content' we 'title' opsiýalar arassalanar. JavaScript resminamalarymyzdaky arassaçylyk bölümine serediň . |
allowList |
obýekt | Bellenen baha | Rugsat berlen atributlary we bellikleri öz içine alýan obýekt |
sanitizeFn |
null | funksiýasy | null |
Bu ýerde öz arassaçylyk funksiýaňyzy üpjün edip bilersiňiz. Arassaçylyk işini geçirmek üçin ýörite kitaphanany ulanmagy makul bilýän bolsaňyz, bu peýdaly bolup biler. |
offset |
massiw | setir | funksiýasy | [0, 8] |
Maksadyna görä çykýan ýeriň ofset. Maglumat atributlarynda yzygiderli bölünen bahalar bilen bir setir geçirip bilersiňiz: Ofset kesgitlemek üçin bir funksiýa ulanylanda, ilkinji argumenti hökmünde popper ýerleşdirilişi, salgylanma we popper düzedişleri bolan obýekt bilen atlandyrylýar. Tüweleme elementi DOM düwmesi ikinji argument hökmünde geçýär. Funksiýa iki san bilen bir massiw gaýtarmaly : . Has giňişleýin maglumat üçin Popper-iň ofset resminamalaryna serediň . |
popperConfig |
null | obýekt | funksiýasy | null |
Bootstrap-yň deslapky Popper konfigurasiýasyny üýtgetmek üçin Popper-iň konfigurasiýasyna serediň . Popper konfigurasiýasyny döretmek üçin bir funksiýa ulanylanda, Bootstrap-yň deslapky Popper konfigurasiýasyny öz içine alýan obýekt bilen atlandyrylýar. Dymmaklygy öz konfigurasiýaňyz bilen ulanmaga we birleşdirmäge kömek edýär. Funksiýa Popper üçin konfigurasiýa obýektini yzyna gaýtarmaly. |
Aýry-aýry açyjylar üçin maglumatlar atributlary
Aýry-aýry açyjylar üçin opsiýalar, ýokarda düşündirilişi ýaly maglumat atributlaryny ulanmak arkaly kesgitlenip bilner.
Bilen işlemekpopperConfig
var popover = new bootstrap.Popover(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
Usullar
Asynkron usullar we geçişler
APIhli API usullary asynkron bolup, geçişe başlaýar . Geçiş başlan badyna, ýöne gutarmanka jaň edijä gaýdyp gelýärler . Mundan başga-da, geçiş komponentine çagyryş usuly hasaba alynmaz .
Has giňişleýin maglumat üçin JavaScript resminamalarymyza serediň .
görkezmek
Bir elementiň açylýan ýerini açýar. Açylýan ýer görkezilmänkä (ýagny shown.bs.popover
waka ýüze çykmazdan ozal) jaň edýän adama gaýdyp gelýär. Bu popoveriň “gollanma” başlangyjy hasaplanýar. Ady we mazmuny ikisi nol uzynlykdaky popovers hiç haçan görkezilmeýär.
myPopover.show()
gizle
Bir elementiň açylýan ýerini gizleýär. Açylýan ýer hakykatdanam gizlenmänkä (ýagny hidden.bs.popover
waka ýüze çykmazdan ozal) jaň edýän adama gaýdyp gelýär. Bu popoveriň “gollanma” başlangyjy hasaplanýar.
myPopover.hide()
üýtgetmek
Bir elementiň açylýan ýerini üýtgedýär. Açylýan ýer görkezilmän ýa-da gizlenmänkä (ýagny waka shown.bs.popover
ýa-da hidden.bs.popover
waka ýüze çykmazdan ozal) jaň edýän adama gaýdyp gelýär. Bu popoveriň “gollanma” başlangyjy hasaplanýar.
myPopover.toggle()
taşlaň
Bir elementiň açylýan ýerini gizleýär we ýok edýär (DOM elementindäki saklanan maglumatlary aýyrýar). Delegasiýany ulanýan poplar (opsiýany ulanyp döredilýär ) selector
nesil trigger elementlerinde aýratyn ýok edilip bilinmez.
myPopover.dispose()
işletmek
Bir elementiň açylýan ýerini görkezmek ukybyny berýär. Popovers deslapky görnüşde işledilýär.
myPopover.enable()
öçürmek
Bir elementiň açylýan ýerini görkezmek ukybyny aýyrýar. Açylýan ýer diňe täzeden işledilen ýagdaýynda görkezilip bilner.
myPopover.disable()
açmak
Bir elementiň açylýan ýerini görkezmek ýa-da gizlemek ukybyny üýtgedýär.
myPopover.toggleEnabled()
täzelen
Bir elementiň açylýan ýerini täzeleýär.
myPopover.update()
GetInstance
DOM elementi bilen baglanyşykly popover mysalyny almaga mümkinçilik berýän statiki usul
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
getOrCreateInstance
DOM elementi bilen baglanyşykly popover mysalyny almaga ýa-da başlamadyk ýagdaýynda täzesini döretmäge mümkinçilik berýän statiki usul.
var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap popover instance
Wakalar
Çäräniň görnüşi | Düşündiriş |
---|---|
show.bs.popover | show Bu waka mysal usuly çagyrylanda derrew ýanýar . |
görkezilen.bs.popover | Bu waka, ulanyjynyň adyna açyk görkezilende (CSS geçişleriniň tamamlanmagyna garaşýar) atylýar. |
hide.bs.popover | Bu waka hide mysal usuly çagyrylanda derrew atylýar. |
gizlenen.bs.popover | Bu waka, ulanyjydan gizlenenden soň (CSS geçişleriniň tamamlanmagyna garaşýar) atylýar. |
insert.bs.popover | show.bs.popover Bu waka , DOM-a popover şablony goşulandan soň atylýar . |
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
// do something...
})