in English

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.jseyiti 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 niloutil.js .
  • Popovers ti yọkuro fun awọn idi iṣẹ ṣiṣe, nitorinaa o gbọdọ ṣe ipilẹṣẹ wọn funrararẹ .
  • Gigun odo titleati contentawọ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 .disabledtabi disablederoja 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-nowraplori 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.
Nipa aiyipada, paati yii nlo imudani akoonu ti a ṣe sinu, eyiti o yọkuro eyikeyi awọn eroja HTML ti ko gba laaye ni gbangba. Wo apakan sanitizer ninu iwe JavaScript wa fun awọn alaye diẹ sii.
Ipa iwara ti paati yii dale lori prefers-reduced-motionibeere 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-toggleabuda wọn:

$(function () {
  $('[data-toggle="popover"]').popover()
})

Apeere: Lilo containeraṣ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 containerki 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 focusokunfa 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-eventslori 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 hoverbi 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 htmlaṣ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-describedbyro 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 whiteLista 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="".

Ṣe akiyesi pe fun awọn idi aabo sanitize, sanitizeFnati whiteListawọ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 container: 'body':. Aṣayan yii wulo paapaa ni pe o fun ọ laaye lati gbe agbejade ni ṣiṣan ti iwe-ipamọ nitosi nkan ti o nfa - eyiti yoo ṣe idiwọ agbejade lati lilefoofo kuro ni nkan ti o nfa lakoko iwọn window kan.

akoonu okun | ano | iṣẹ ''

Iwọn akoonu aiyipada ti data-contentabuda ko ba si.

Ti iṣẹ kan ba fun, yoo pe pẹlu thisitọkasi ti a ṣeto si nkan ti a so popover si.

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

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.
Nigba ti o ba autowa ni pato, yoo ṣe atunto agbejade naa lainidi.

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 thisti ṣeto ọrọ-ọrọ si apẹẹrẹ popover.

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 titleyoo jẹ itasi sinu .popover-header.

Awọn popover's contentyoo jẹ itasi sinu .popover-body.

.arrowyoo di ofa popover.

Awọn outermost wrapper ano yẹ ki o ni awọn .popoverkilasi.

akọle okun | ano | iṣẹ ''

Iwọn akọle aiyipada ti titleẹda ko ba si.

Ti iṣẹ kan ba fun, yoo pe pẹlu thisitọkasi ti a ṣeto si nkan ti a so popover si.

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. manualko 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 'a b':.

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 .

Wo iwe JavaScript wa fun alaye diẹ sii .

$().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.popoveriṣẹ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.popoveriṣẹ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.popovertabi hidden.bs.popoveriṣẹ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 ) selectorko 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 showapẹẹ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 hideapẹẹ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.popoveriṣẹlẹ naa nigbati a ti ṣafikun awoṣe popover si DOM.
$('#myPopover').on('hidden.bs.popover', function () {
  // do something...
})