Popovers
Iwe ati awọn apẹẹrẹ fun fifi awọn agbejade Bootstrap kun, bii awọn ti a rii ni iOS, si eyikeyi eroja lori aaye rẹ.
Akopọ
Awọn nkan lati mọ nigba lilo ohun itanna popover:
- Popovers gbarale ile-ikawe ẹgbẹ kẹta Popper fun ipo. O gbọdọ ni popper.min.js ṣaaju ki bootstrap.js tabi lo
bootstrap.bundle.min.js
/bootstrap.bundle.js
eyiti o ni Popper ni ibere fun awọn agbejade lati ṣiṣẹ! - Popovers nilo ohun itanna ọpa bi igbẹkẹle kan.
- Ti o ba n kọ JavaScript wa lati orisun, o nilo
util.js
. - Popovers ti yọkuro fun awọn idi iṣẹ ṣiṣe, nitorinaa o gbọdọ ṣe ipilẹṣẹ wọn funrararẹ .
- Gigun odo
title
aticontent
awọn iye kii yoo ṣe afihan agbejade kan. - Pato
container: 'body'
lati yago fun awọn iṣoro ṣiṣe ni awọn paati eka diẹ sii (bii awọn ẹgbẹ titẹ sii, awọn ẹgbẹ bọtini, ati bẹbẹ lọ). - Nfa popovers lori awọn eroja ti o farapamọ kii yoo ṣiṣẹ.
- Popovers fun
.disabled
tabidisabled
eroja gbọdọ wa ni jeki on a wrapper ano. - Nigbati o ba fa lati awọn ìdákọró ti o fi ipari si awọn laini pupọ, awọn popovers yoo wa ni aarin laarin iwọn apapọ awọn ìdákọró. Lo
.text-nowrap
lori rẹ<a>
s lati yago fun yi ihuwasi. - Popovers gbọdọ wa ni pamọ ṣaaju ki o to yọkuro awọn eroja ti o baamu wọn lati DOM.
- Popovers le ti wa ni jeki ọpẹ si ohun ano inu a ojiji DOM.
prefers-reduced-motion
ibeere media. Wo
apakan išipopada ti o dinku ti iwe iraye si wa .
Jeki kika lati wo bi awọn popovers ṣe n ṣiṣẹ pẹlu awọn apẹẹrẹ diẹ.
Apeere: Mu popovers ṣiṣẹ nibi gbogbo
Ọna kan lati bẹrẹ gbogbo awọn agbejade lori oju-iwe kan yoo jẹ lati yan wọn nipasẹ data-toggle
abuda wọn:
$(function () {
$('[data-toggle="popover"]').popover()
})
Apeere: Lilo container
aṣayan
Nigba ti o ba ni diẹ ninu awọn aza lori kan obi ano ti o dabaru pẹlu a popover, o yoo fẹ lati pato kan aṣa container
ki HTML popover han laarin ti ano dipo.
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
Apeere
<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>
Awọn itọnisọna mẹrin
Awọn aṣayan mẹrin wa: oke, ọtun, isalẹ, ati ti osi.
<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>
Yọọ kuro ni titẹ atẹle
Lo focus
okunfa lati yọ awọn popovers kuro lori titẹ atẹle olumulo ti nkan ti o yatọ ju ano toggle.
Siṣamisi kan pato nilo fun yiyọ kuro-lori-tẹle
Fun aṣawakiri agbelebu ti o tọ ati ihuwasi Syeed, o gbọdọ lo <a>
tag, kii ṣe tag <button>
, ati pe o tun gbọdọ ni abuda kan tabindex
.
<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'
})
Awọn eroja alaabo
Awọn eroja pẹlu disabled
ẹya kii ṣe ibaraenisepo, afipamo pe awọn olumulo ko le rababa tabi tẹ wọn lati ṣe okunfa agbejade (tabi ohun elo irinṣẹ). Gẹgẹbi iṣẹ-ṣiṣe, iwọ yoo fẹ lati ma ṣe okunfa popover lati inu ohun-iṣọ kan <div>
tabi <span>
ki o danu pointer-events
lori eroja alaabo naa.
Fun awọn okunfa popover alaabo, o tun le fẹ data-trigger="hover"
ki popover naa han bi esi wiwo lẹsẹkẹsẹ si awọn olumulo rẹ nitori wọn le ma nireti lati tẹ lori nkan alaabo kan.
<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>
Lilo
Mu awọn agbejade ṣiṣẹ nipasẹ JavaScript:
$('#example').popover(options)
GPU isare
Popovers nigbakan han blurry lori awọn ẹrọ Windows 10 nitori isare GPU ati eto DPI ti a ṣe atunṣe. Iṣeduro fun eyi ni v4 ni lati mu isare GPU kuro bi o ṣe nilo lori awọn agbejade rẹ.
Atunṣe ti a daba:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
Ṣiṣe popovers ṣiṣẹ fun keyboard ati awọn olumulo imọ-ẹrọ iranlọwọ
Lati gba awọn olumulo keyboard laaye lati mu awọn agbejade rẹ ṣiṣẹ, o yẹ ki o ṣafikun wọn nikan si awọn eroja HTML ti o jẹ aifọwọyi ti aṣa ati ibaraenisọrọ (gẹgẹbi awọn ọna asopọ tabi awọn idari fọọmu). Botilẹjẹpe awọn eroja HTML lainidii (gẹgẹbi awọn <span>
s) le jẹ ki o ni idojukọ nipa fifi tabindex="0"
ẹda naa kun, eyi yoo ṣafikun awọn iduro didanubi ati idamu lori awọn eroja ti kii ṣe ibaraenisepo fun awọn olumulo keyboard, ati ọpọlọpọ awọn imọ-ẹrọ iranlọwọ lọwọlọwọ ko kede akoonu popover ni ipo yii. . Ni afikun, maṣe gbarale hover
bi okunfa fun awọn agbejade rẹ, nitori eyi yoo jẹ ki wọn ko ṣee ṣe lati ma ṣe okunfa fun awọn olumulo keyboard.
Lakoko ti o le fi ọrọ sii, HTML ti iṣeto ni awọn agbejade pẹlu html
aṣayan, a ṣeduro ni iyanju pe ki o yago fun fifi iye akoonu ti o pọ ju. Awọn ọna popovers Lọwọlọwọ ṣiṣẹ ni wipe, ni kete ti han, wọn akoonu ti wa ni ti so si awọn okunfa ano pẹlu awọn aria-describedby
ro pe. Bi abajade, gbogbo akoonu popover ni yoo kede si awọn olumulo imọ-ẹrọ iranlọwọ bi ṣiṣan gigun kan, ṣiṣan ti ko ni idilọwọ.
Ni afikun, lakoko ti o ṣee ṣe lati tun pẹlu awọn iṣakoso ibaraenisepo (gẹgẹbi awọn eroja fọọmu tabi awọn ọna asopọ) ninu agbejade rẹ (nipa fifi awọn eroja wọnyi kun tabi awọn abuda ti whiteList
a gba laaye ati awọn afi), ṣe akiyesi pe lọwọlọwọ popover ko ṣakoso aṣẹ idojukọ keyboard. Nigbati olumulo keyboard ba ṣii agbejade kan, idojukọ wa lori nkan ti o nfa, ati pe bi popover nigbagbogbo ko ṣe tẹle okunfa lẹsẹkẹsẹ ninu eto iwe, ko si iṣeduro pe gbigbe siwaju / titẹTAByoo gbe olumulo keyboard sinu popover funrararẹ. Ni kukuru, fifi awọn iṣakoso ibaraenisepo pọ si agbejade kan ṣee ṣe lati jẹ ki awọn idari wọnyi ko ṣee de / ko ṣee ṣe fun awọn olumulo keyboard ati awọn olumulo ti awọn imọ-ẹrọ iranlọwọ, tabi ni o kere pupọ ṣe fun aṣẹ idojukọ gbogbogbo ti ko logbon. Ni awọn iṣẹlẹ wọnyi, ronu nipa lilo ibaraẹnisọrọ modal dipo.
Awọn aṣayan
Awọn aṣayan le ṣee kọja nipasẹ awọn abuda data tabi JavaScript. Fun awọn abuda data, fi orukọ aṣayan si data-
, bi ninu data-animation=""
.
sanitize
,
sanitizeFn
ati
whiteList
awọn aṣayan ko le ṣe ipese pẹlu awọn abuda data.
Oruko | Iru | Aiyipada | Apejuwe |
---|---|---|---|
iwara | boolian | ooto | Waye iyipada ipare CSS kan si agbejade |
eiyan | okun | ano | eke | eke | Ṣafikun popover si nkan kan pato. Apeere |
akoonu | okun | ano | iṣẹ | '' | Iwọn akoonu aiyipada ti Ti iṣẹ kan ba fun, yoo pe pẹlu |
idaduro | nọmba | nkan | 0 | Idaduro iṣafihan ati fifipamo popover (ms) - ko kan si iru okunfa afọwọṣe Ti nọmba kan ba pese, idaduro jẹ lilo si tọju/fihan mejeeji Eto nkan jẹ: |
html | boolian | eke | Fi HTML sinu agbejade. Ti o ba jẹ eke, text ọna jQuery yoo ṣee lo lati fi akoonu sii sinu DOM. Lo ọrọ ti o ba ni aniyan nipa awọn ikọlu XSS. |
ipo | okun | iṣẹ | 'ọtun' | Bawo ni lati ipo awọn popover - auto | oke | isalẹ | osi | ọtun. Nigbati a ba lo iṣẹ kan lati pinnu ipo, o pe pẹlu agbejade DOM agbejade bi ariyanjiyan akọkọ rẹ ati node DOM ti o nfa bi keji rẹ. A |
yiyan | okun | eke | eke | Ti o ba ti pese oluyan, awọn ohun agbejade yoo jẹ aṣoju si awọn ibi-afẹde ti a pato. Ni iṣe, eyi ni a lo lati mu akoonu HTML ti o ni agbara lati ni afikun awọn agbejade. Wo eyi ati apẹẹrẹ alaye . |
awoṣe | okun | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
HTML mimọ lati lo nigba ṣiṣẹda popover. Awọn popover's Awọn popover's
Awọn outermost wrapper ano yẹ ki o ni awọn |
akọle | okun | ano | iṣẹ | '' | Iwọn akọle aiyipada ti Ti iṣẹ kan ba fun, yoo pe pẹlu |
okunfa | okun | 'tẹ' | Bawo ni popover ti wa ni jeki - tẹ | rababa | idojukọ | Afowoyi. O le ṣe ọpọlọpọ awọn okunfa; ya wọn pẹlu aaye kan. manual ko le wa ni idapo pelu eyikeyi miiran okunfa. |
aiṣedeede | nọmba | okun | 0 | Aiṣedeede ti popover ni ibatan si ibi-afẹde rẹ. Fun alaye diẹ sii tọka si awọn iwe aiṣedeede Popper . |
fallbackPlacement | okun | orun | 'isipade' | Gba laaye lati pato iru ipo Popper yoo lo lori ipadabọ. Fun alaye diẹ sii tọka si awọn iwe aṣẹ ihuwasi Popper |
aṣaClass | okun | iṣẹ | '' | Fi awọn kilasi kun popover nigbati o ba han. Ṣe akiyesi pe awọn kilasi wọnyi yoo ṣafikun ni afikun si eyikeyi awọn kilasi pato ninu awoṣe. Lati ṣafikun awọn kilasi pupọ, ya wọn sọtọ pẹlu awọn alafo O tun le ṣe iṣẹ kan ti o yẹ ki o da okun kan pada ti o ni awọn orukọ kilasi afikun ninu. |
ààlà | okun | eroja | 'yi lọ Obi' | Aponsedanu ihamọ aala ti popover. Gba awọn iye ti 'viewport' , 'window' , 'scrollParent' , tabi itọkasi HTMLElement (JavaScript nikan). Fun alaye diẹ sii tọka si awọn docs idinamọOverflow Popper . |
sọ di mimọ | boolian | ooto | Muu ṣiṣẹ tabi mu isọdọmọ kuro. Ti o ba muu ṣiṣẹ 'template' , 'content' ati 'title' awọn aṣayan yoo di mimọ. Wo apakan sanitizer ninu iwe JavaScript wa . |
funfunList | nkan | Iwọn aiyipada | Nkan ti o ni awọn abuda ti a gba laaye ati awọn afi |
sanitizeFn | asan | iṣẹ | asan | Nibi o le pese iṣẹ imototo tirẹ. Eyi le wulo ti o ba fẹ lati lo ile-ikawe iyasọtọ lati ṣe imototo. |
popperConfig | asan | nkan | asan | Lati yi Bootstrap aiyipada atunto Popper pada, wo iṣeto Popper |
Data eroja fun olukuluku popovers
Awọn aṣayan fun awọn agbejade kọọkan le jẹ iyasọtọ nipasẹ lilo awọn abuda data, bi a ti salaye loke.
Awọn ọna
Awọn ọna Asynchronous ati awọn iyipada
Gbogbo awọn ọna API jẹ asynchronous ati bẹrẹ iyipada kan . Wọn pada si ọdọ olupe ni kete ti iyipada ti bẹrẹ ṣugbọn ṣaaju ki o to pari . Ni afikun, ipe ọna kan lori paati iyipada yoo jẹ kọbikita .
$().popover(options)
Initializes popovers fun ohun akojọpọ eroja.
.popover('show')
Ṣe afihan agbejade ano kan. Pada si olupe ṣaaju ki agbejade ti han gangan (ie ṣaaju ki shown.bs.popover
iṣẹlẹ naa to waye). Eyi ni a kà si “afọwọṣe” ti nfa popover. Popovers ti akọle ati akoonu mejeeji jẹ gigun odo ko han rara.
$('#element').popover('show')
.popover('hide')
Ìbòmọlẹ ohun ano ká popover. Pada si olupe ṣaaju ki agbejade ti farapamọ gangan (ie ṣaaju ki hidden.bs.popover
iṣẹlẹ naa to waye). Eyi ni a kà si “afọwọṣe” ti nfa popover.
$('#element').popover('hide')
.popover('toggle')
Yipada ohun ano ká popover. Pada si olupe ṣaaju ki agbejade ti han gangan tabi farapamọ (ie ṣaaju ki iṣẹlẹ shown.bs.popover
tabi hidden.bs.popover
iṣẹlẹ to waye). Eyi ni a kà si “afọwọṣe” ti nfa popover.
$('#element').popover('toggle')
.popover('dispose')
Hides ati ki o run ohun ano ká popover. Popovers ti o lo aṣoju (eyi ti a ṣẹda nipa lilo aṣayan ) selector
ko le ṣe iparun ni ẹyọkan lori awọn eroja ti o nfa ọmọ.
$('#element').popover('dispose')
.popover('enable')
Yoo fun ohun ano ká popover ni agbara lati han. Popovers ti ṣiṣẹ nipasẹ aiyipada.
$('#element').popover('enable')
.popover('disable')
Yọ awọn agbara fun ohun ano ká popover lati han. Agbejade naa yoo ni anfani lati han nikan ti o ba tun ṣiṣẹ.
$('#element').popover('disable')
.popover('toggleEnabled')
Yipada agbara fun agbejade eroja lati han tabi pamọ.
$('#element').popover('toggleEnabled')
.popover('update')
Ṣe imudojuiwọn ipo agbejade eroja kan.
$('#element').popover('update')
Awọn iṣẹlẹ
Iṣẹlẹ Iru | Apejuwe |
---|---|
fihan.bs.popover | Yi iṣẹlẹ ina lẹsẹkẹsẹ nigbati awọn show apẹẹrẹ ọna ti a npe ni. |
han.bs.popover | Iṣẹlẹ yii jẹ ina nigbati popover ti jẹ ki o han si olumulo (yoo duro fun awọn iyipada CSS lati pari). |
tọju.bs.popover | Iṣẹlẹ yii jẹ ina lẹsẹkẹsẹ nigbati ọna hide apẹẹrẹ ti pe. |
farasin.bs.popover | Iṣẹlẹ yii jẹ ina nigbati agbejade ba ti pari fifipamọ lati ọdọ olumulo (yoo duro fun awọn iyipada CSS lati pari). |
ti a fi sii.bs.popover | Iṣẹlẹ yii jẹ ina lẹhin show.bs.popover iṣẹlẹ naa nigbati a ti ṣafikun awoṣe popover si DOM. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})