Popovers
Dogfennaeth ac enghreifftiau ar gyfer ychwanegu popovers Bootstrap, fel y rhai a geir yn iOS, at unrhyw elfen ar eich gwefan.
Trosolwg
Pethau i'w gwybod wrth ddefnyddio'r ategyn popover:
- Mae Popovers yn dibynnu ar Popper llyfrgell 3ydd parti ar gyfer lleoli. Rhaid i chi gynnwys popper.min.js cyn bootstrap.js neu use
bootstrap.bundle.min.js
/bootstrap.bundle.js
sy'n cynnwys Popper er mwyn i popovers weithio! - Mae Popovers angen yr ategyn tooltip fel dibyniaeth.
- Os ydych chi'n adeiladu ein JavaScript o'r ffynhonnell, mae angen
util.js
. - Mae popovers yn optio i mewn am resymau perfformiad, felly mae'n rhaid i chi eu cychwyn eich hun .
- Ni fydd sero-hyd
title
acontent
gwerthoedd byth yn dangos popover. - Nodwch
container: 'body'
er mwyn osgoi problemau rendro mewn cydrannau mwy cymhleth (fel ein grwpiau mewnbwn, grwpiau botwm, ac ati). - Ni fydd sbarduno popovers ar elfennau cudd yn gweithio.
- Rhaid sbarduno popovers ar gyfer
.disabled
neudisabled
elfennau ar elfen lapio. - Pan gânt eu hysgogi o angorau sy'n lapio ar draws llinellau lluosog, bydd popovers yn cael eu canoli rhwng lled cyffredinol yr angorau. Defnyddiwch
.text-nowrap
ar eich<a>
s i osgoi'r ymddygiad hwn. - Rhaid cuddio popovers cyn i'w elfennau cyfatebol gael eu tynnu o'r DOM.
- Gellir sbarduno popovers diolch i elfen y tu mewn i DOM cysgodol.
prefers-reduced-motion
ymholiad y cyfryngau. Gweler
adran cynnig gostyngol ein dogfennaeth hygyrchedd .
Daliwch ati i ddarllen i weld sut mae popovers yn gweithio gyda rhai enghreifftiau.
Enghraifft: Galluogi popovers ym mhobman
Un ffordd o gychwyn pob popover ar dudalen fyddai eu dewis yn ôl eu data-toggle
priodoledd:
$(function () {
$('[data-toggle="popover"]').popover()
})
Enghraifft: Defnyddio'r container
opsiwn
Pan fydd gennych rai arddulliau ar elfen rhiant sy'n ymyrryd â popover, byddwch am nodi arferiad container
fel bod HTML y popover yn ymddangos o fewn yr elfen honno yn lle hynny.
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
Enghraifft
<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>
Pedwar cyfeiriad
Mae pedwar opsiwn ar gael: aliniad uchaf, dde, gwaelod a chwith.
<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>
Diystyru ar y clic nesaf
Defnyddiwch y focus
sbardun i ddiystyru popovers ar glic nesaf y defnyddiwr ar elfen wahanol i'r elfen togl.
Mae angen marcio penodol ar gyfer diswyddo-ar-glic nesaf
Ar gyfer ymddygiad traws-borwr a thraws-lwyfan priodol, rhaid i chi ddefnyddio'r <a>
tag, nid y <button>
tag, a rhaid i chi hefyd gynnwys tabindex
priodoledd.
<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'
})
Elfennau anabl
Nid yw elfennau gyda'r disabled
priodoledd yn rhyngweithiol, sy'n golygu na all defnyddwyr hofran na chlicio arnynt i sbarduno popover (neu gyngor). Fel ateb, byddwch chi eisiau sbarduno'r popover o ddeunydd lapio <div>
neu <span>
a diystyru'r pointer-events
elfen anabl.
Ar gyfer sbardunau popover anabl, efallai y byddai'n well gennych hefyd data-trigger="hover"
fel bod y popover yn ymddangos fel adborth gweledol uniongyrchol i'ch defnyddwyr oherwydd efallai na fyddant yn disgwyl clicio ar elfen anabl.
<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>
Defnydd
Galluogi popovers trwy JavaScript:
$('#example').popover(options)
Cyflymiad GPU
Weithiau mae popovers yn ymddangos yn aneglur ar ddyfeisiau Windows 10 oherwydd cyflymiad GPU a DPI system wedi'i addasu. Y datrysiad ar gyfer hyn yn v4 yw analluogi cyflymiad GPU yn ôl yr angen ar eich popovers.
Atgyweiriad a awgrymir:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
Gwneud i popovers weithio i ddefnyddwyr bysellfwrdd a thechnoleg gynorthwyol
Er mwyn galluogi defnyddwyr bysellfwrdd i actifadu eich popovers, dim ond at elfennau HTML sy'n draddodiadol yn canolbwyntio ar fysellfyrddau ac yn rhyngweithiol y dylech eu hychwanegu (fel dolenni neu reolaethau ffurf). <span>
Er y gellir gwneud elfennau HTML mympwyol (fel s) yn ffocws trwy ychwanegu'r tabindex="0"
priodoledd, bydd hyn yn ychwanegu stopiau tab a allai fod yn annifyr a dryslyd ar elfennau nad ydynt yn rhyngweithiol ar gyfer defnyddwyr bysellfwrdd, ac ar hyn o bryd nid yw'r rhan fwyaf o dechnolegau cynorthwyol yn cyhoeddi cynnwys y popover yn y sefyllfa hon . Yn ogystal, peidiwch â dibynnu'n llwyr arno hover
fel sbardun eich popovers, gan y bydd hyn yn eu gwneud yn amhosibl eu sbarduno i ddefnyddwyr bysellfwrdd.
Er y gallwch fewnosod HTML cyfoethog, strwythuredig mewn popovers gyda'r html
opsiwn, rydym yn argymell yn gryf eich bod yn osgoi ychwanegu gormod o gynnwys. Y ffordd y mae popovers yn gweithio ar hyn o bryd yw bod eu cynnwys, ar ôl ei arddangos, yn gysylltiedig â'r elfen sbardun gyda'r aria-describedby
priodoledd. O ganlyniad, bydd holl gynnwys y popover yn cael ei gyhoeddi i ddefnyddwyr technoleg gynorthwyol fel un ffrwd hir, ddi-dor.
Yn ogystal, er ei bod yn bosibl cynnwys rheolyddion rhyngweithiol hefyd (fel elfennau ffurf neu ddolenni) yn eich popover (trwy ychwanegu'r elfennau hyn at y whiteList
priodoleddau a'r tagiau a ganiateir), byddwch yn ymwybodol nad yw'r popover yn rheoli trefn ffocws bysellfwrdd ar hyn o bryd. Pan fydd defnyddiwr bysellfwrdd yn agor popover, mae'r ffocws yn parhau ar yr elfen sbarduno, a chan nad yw'r popover fel arfer yn dilyn y sbardun yn strwythur y ddogfen ar unwaith, nid oes unrhyw sicrwydd symud ymlaen / pwysoTAByn symud defnyddiwr bysellfwrdd i'r popover ei hun. Yn fyr, mae ychwanegu rheolyddion rhyngweithiol at popover yn debygol o wneud y rheolyddion hyn yn anghyraeddadwy/annefnyddiadwy i ddefnyddwyr bysellfwrdd a defnyddwyr technolegau cynorthwyol, neu o leiaf yn creu trefn ffocws cyffredinol afresymegol. Yn yr achosion hyn, ystyriwch ddefnyddio deialog moddol yn lle hynny.
Opsiynau
Gellir trosglwyddo opsiynau trwy briodoleddau data neu JavaScript. Ar gyfer priodoleddau data, atodwch enw'r opsiwn i data-
, fel yn data-animation=""
.
sanitize
,
sanitizeFn
ac
opsiynau gan ddefnyddio priodoleddau data.whiteList
Enw | Math | Diofyn | Disgrifiad |
---|---|---|---|
animeiddiad | boolaidd | gwir | Cymhwyso trawsnewidiad pylu CSS i'r popover |
cynhwysydd | llinyn | elfen | ffug | ffug | Yn atodi'r popover i elfen benodol. Enghraifft: |
cynnwys | llinyn | elfen | swyddogaeth | '' | Gwerth cynnwys diofyn os Os rhoddir ffwythiant, fe'i gelwir gyda'i |
oedi | rhif | gwrthrych | 0 | Oedi wrth ddangos a chuddio'r popover (ms) - nid yw'n berthnasol i'r math sbardun â llaw Os bydd rhif yn cael ei gyflenwi, bydd oedi yn cael ei gymhwyso i'r ddwy guddfan/sioe Strwythur gwrthrych yw: |
html | boolaidd | ffug | Mewnosod HTML yn y popover. Os yw'n ffug, text bydd dull jQuery yn cael ei ddefnyddio i fewnosod cynnwys yn y DOM. Defnyddiwch destun os ydych chi'n poeni am ymosodiadau XSS. |
lleoliad | llinyn | swyddogaeth | 'iawn' | Sut i leoli'r popover - auto | brig | gwaelod | chwith | iawn. Pan ddefnyddir swyddogaeth i benderfynu ar y lleoliad, fe'i gelwir gyda'r nod DOM popover fel ei ddadl gyntaf a'r elfen sbarduno nod DOM fel ei ail. Mae'r |
detholwr | llinyn | ffug | ffug | Os darperir dewisydd, bydd gwrthrychau popover yn cael eu dirprwyo i'r targedau penodedig. Yn ymarferol, defnyddir hwn i alluogi cynnwys HTML deinamig i ychwanegu popovers. Gweler hyn ac enghraifft llawn gwybodaeth . |
templed | llinyn | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
Sylfaen HTML i'w ddefnyddio wrth greu'r popover. Bydd y popover's Bydd y popover's
Dylai'r elfen lapio allanol fod â'r |
teitl | llinyn | elfen | swyddogaeth | '' | Gwerth teitl diofyn os Os rhoddir ffwythiant, fe'i gelwir gyda'i |
sbardun | llinyn | 'cliciwch' | Sut mae popover yn cael ei sbarduno - cliciwch | hofran | ffocws | llaw. Efallai y byddwch yn pasio sbardunau lluosog; eu gwahanu â gofod. manual ni ellir ei gyfuno ag unrhyw sbardun arall. |
gwrthbwyso | rhif | llinyn | 0 | Gwrthbwyso'r popover o'i gymharu â'i darged. Am ragor o wybodaeth cyfeiriwch at ddogfennau gwrthbwyso Popper . |
Lleoliad wrth gefn | llinyn | arae | 'fflip' | Caniatewch i nodi pa safle y bydd Popper yn ei ddefnyddio wrth gefn. Am ragor o wybodaeth cyfeiriwch at ddogfennau ymddygiad Popper |
arferDosbarth | llinyn | swyddogaeth | '' | Ychwanegu dosbarthiadau at y popover pan fydd yn cael ei ddangos. Sylwch y bydd y dosbarthiadau hyn yn cael eu hychwanegu yn ychwanegol at unrhyw ddosbarthiadau a nodir yn y templed. I ychwanegu dosbarthiadau lluosog, gwahanwch nhw gyda bylchau: Gallwch hefyd basio swyddogaeth a ddylai ddychwelyd un llinyn yn cynnwys enwau dosbarth ychwanegol. |
ffin | llinyn | elfen | 'Sgrolio Rhiant' | Ffin cyfyngiad gorlif y popover. Yn derbyn gwerthoedd 'viewport' , 'window' , 'scrollParent' , neu gyfeirnod HTMLElement (JavaScript yn unig). I gael rhagor o wybodaeth, cyfeiriwch at ddogfennau preventOverflow Popper . |
glanweithdra | boolaidd | gwir | Galluogi neu analluogi'r glanweithdra. Os caiff ei actifadu 'template' , 'content' a 'title' bydd opsiynau'n cael eu diheintio. Gweler yr adran glanweithydd yn ein dogfennaeth JavaScript . |
gwynRhestr | gwrthrych | Gwerth diofyn | Gwrthrych sy'n cynnwys priodoleddau a thagiau a ganiateir |
glanweithdraFn | null | swyddogaeth | null | Yma gallwch gyflenwi eich swyddogaeth glanweithdra eich hun. Gall hyn fod yn ddefnyddiol os yw'n well gennych ddefnyddio llyfrgell bwrpasol i wneud glanweithdra. |
popperConfig | null | gwrthrych | null | I newid ffurfweddiad Popper rhagosodedig Bootstrap, gweler cyfluniad Popper |
Priodoleddau data ar gyfer popovers unigol
Fel arall, gellir pennu opsiynau ar gyfer popovers unigol trwy ddefnyddio priodoleddau data, fel yr eglurir uchod.
Dulliau
Dulliau a thrawsnewidiadau anghydamserol
Mae pob dull API yn asyncronaidd ac yn dechrau cyfnod pontio . Maen nhw'n dychwelyd at y galwr cyn gynted ag y bydd y cyfnod pontio wedi dechrau ond cyn iddo ddod i ben . Yn ogystal, bydd galwad dull ar gydran trawsnewid yn cael ei anwybyddu .
$().popover(options)
Yn cychwyn popovers ar gyfer casgliad elfennau.
.popover('show')
Yn datgelu popover elfen. Yn dychwelyd i'r galwr cyn i'r popover gael ei ddangos (hy cyn i'r shown.bs.popover
digwyddiad ddigwydd). Mae hwn yn cael ei ystyried yn sbardun “â llaw” o'r popover. Nid yw popovers y mae eu teitl a'u cynnwys o hyd sero byth yn cael eu harddangos.
$('#element').popover('show')
.popover('hide')
Yn cuddio popover elfen. Yn dychwelyd i'r galwr cyn i'r popover gael ei guddio (hy cyn i'r hidden.bs.popover
digwyddiad ddigwydd). Mae hwn yn cael ei ystyried yn sbardun “â llaw” o'r popover.
$('#element').popover('hide')
.popover('toggle')
Toglo popover elfen. Yn dychwelyd i'r galwr cyn i'r popover gael ei ddangos neu ei guddio (hy cyn i'r digwyddiad shown.bs.popover
neu'r hidden.bs.popover
digwyddiad ddigwydd). Mae hwn yn cael ei ystyried yn sbardun “â llaw” o'r popover.
$('#element').popover('toggle')
.popover('dispose')
Yn cuddio ac yn dinistrio popover elfen. Ni all popovers sy'n defnyddio dirprwyo (sy'n cael eu creu gan ddefnyddio'r opsiwnselector
) gael eu dinistrio'n unigol ar elfennau sbardun disgynyddion .
$('#element').popover('dispose')
.popover('enable')
Yn rhoi'r gallu i popover elfen gael ei ddangos. Mae popovers yn cael eu galluogi yn ddiofyn.
$('#element').popover('enable')
.popover('disable')
Yn dileu'r gallu i ddangos popover elfen. Dim ond os caiff ei ail-alluogi y bydd y popover yn gallu cael ei ddangos.
$('#element').popover('disable')
.popover('toggleEnabled')
Toglo'r gallu i popover elfen gael ei ddangos neu ei guddio.
$('#element').popover('toggleEnabled')
.popover('update')
Yn diweddaru lleoliad popover elfen.
$('#element').popover('update')
Digwyddiadau
Math o Ddigwyddiad | Disgrifiad |
---|---|
sioe.bs.popover | Mae'r digwyddiad hwn yn tanio ar unwaith pan show elwir y dull enghraifft. |
dangos.bs.popover | Mae'r digwyddiad hwn yn cael ei danio pan fydd y popover wedi'i wneud yn weladwy i'r defnyddiwr (bydd yn aros i'r trawsnewidiadau CSS gael eu cwblhau). |
cuddio.bs.popover | Mae'r digwyddiad hwn yn cael ei danio ar unwaith pan fydd y hide dull enghraifft wedi'i alw. |
cudd.bs.popover | Mae'r digwyddiad hwn yn cael ei danio pan fydd y popover wedi gorffen cael ei guddio rhag y defnyddiwr (bydd yn aros i'r trawsnewidiadau CSS gael eu cwblhau). |
mewnosod.bs.popover | Mae'r digwyddiad hwn yn cael ei danio ar ôl y show.bs.popover digwyddiad pan fydd y templed popover wedi'i ychwanegu at y DOM. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})