Անցեք հիմնական բովանդակությանը Բաց թողնել փաստաթղթերի նավարկություն
Check
in English

Պոպովերներ

Փաստաթղթեր և օրինակներ՝ Bootstrap popover-ներ, ինչպիսիք են iOS-ում հայտնաբերվածները, ձեր կայքի ցանկացած տարրին ավելացնելու համար:

Ընդհանուր ակնարկ

Բաներ, որոնք պետք է իմանալ popover plugin-ն օգտագործելիս.

  • Պոպովերը ապավինում են երրորդ կողմի Popper գրադարանին դիրքավորման համար: Դուք պետք է նախապես ներառեք popper.min.js- ըbootstrap.js կամ օգտագործեք մեկը bootstrap.bundle.min.js, որը պարունակում է Popper:
  • Popover-ները պահանջում են popover plugin- ը որպես կախվածություն:
  • Popover-ները միանում են կատարողականի նկատառումներով, այնպես որ դուք պետք է նախաստորագրեք դրանք ինքներդ :
  • Զրոյական երկարությունը titleև contentարժեքները երբեք չեն ցուցադրի պոպովեր:
  • Նշեք container: 'body'՝ ավելի բարդ բաղադրիչներում խնդիրներ չարտադրելու համար (օրինակ՝ մեր մուտքային խմբերը, կոճակների խմբերը և այլն):
  • Թաքնված տարրերի վրա popover-ների գործարկումը չի աշխատի:
  • Պոպովերը .disabledկամ disabledտարրերը պետք է գործարկվեն փաթաթման տարրի վրա:
  • Երբ գործարկվում են խարիսխներից, որոնք փաթաթվում են մի քանի գծերի վրայով, պոպովերը կկենտրոնացվեն խարիսխների ընդհանուր լայնության միջև: Օգտագործեք .text-nowrapձեր <a>s-ի վրա՝ այս պահվածքից խուսափելու համար:
  • Popover-ները պետք է թաքցվեն նախքան դրանց համապատասխան տարրերը DOM-ից հեռացնելը:
  • Popover-ները կարող են գործարկվել ստվերային DOM-ի ներսում գտնվող տարրի շնորհիվ:
Լռելյայնորեն, այս բաղադրիչն օգտագործում է ներկառուցված բովանդակության մաքրող միջոց, որը հեռացնում է HTML-ի բոլոր տարրերը, որոնք բացահայտորեն թույլատրված չեն: Լրացուցիչ մանրամասների համար տե՛ս ախտահանիչի բաժինը մեր JavaScript փաստաթղթերում :
Այս բաղադրիչի անիմացիոն էֆեկտը կախված է prefers-reduced-motionլրատվամիջոցների հարցումից: Տեսեք մեր մատչելիության փաստաթղթերի կրճատված շարժման բաժինը :

Շարունակեք կարդալ՝ որոշ օրինակներով տեսնելու համար, թե ինչպես են աշխատում popover-ները:

Օրինակներ

Միացնել popover-ները

Ինչպես նշվեց վերևում, դուք պետք է սկզբնավորեք popover-ները, նախքան դրանք օգտագործելը: Էջի բոլոր popover-ները սկզբնավորելու եղանակներից մեկը կլինի դրանք ընտրելն ըստ իրենց data-bs-toggleհատկանիշի, օրինակ՝

const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

Կենդանի ցուցադրություն

Մենք օգտագործում ենք JavaScript-ը, որը նման է վերևի հատվածին, որպեսզի ցուցադրենք հետևյալ կենդանի պոպովերը: Վերնագրերը սահմանվում են միջոցով, data-bs-titleիսկ մարմնի բովանդակությունը՝ միջոցով data-bs-content:

Ազատորեն օգտագործեք կամ titleկամ data-bs-titleձեր HTML-ում: Երբ titleօգտագործվում է, Popper-ն այն ավտոմատ կերպով կփոխարինի data-bs-titleտարրը մատուցելու ժամանակ:
html
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

Չորս ուղղություն

Հասանելի է չորս տարբերակ՝ վերև, աջ, ներքև և ձախ: RTL-ում Bootstrap-ն օգտագործելիս ուղղությունները արտացոլվում են: Սահմանել data-bs-placementուղղությունը փոխելու համար:

html
<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>

Պատվերովcontainer

Երբ դուք ունեք որոշ ոճեր ծնող տարրի վրա, որոնք խանգարում են popover-ին, դուք պետք է նշեք սովորական containerտարբերակ, որպեսզի դրա փոխարեն popover-ի HTML-ը հայտնվի այդ տարրի մեջ: Սա սովորական է արձագանքող աղյուսակներում, մուտքային խմբերում և այլն:

const popover = new bootstrap.Popover('.example-popover', {
  container: 'body'
})

Մեկ այլ իրավիճակ, որտեղ դուք կցանկանաք հստակ սովորություն սահմանել, containerմոդալ երկխոսության մեջ գտնվող popover-ներն են, որպեսզի համոզվեք, որ popover-ը կցված է մոդալին: Սա հատկապես կարևոր է ինտերակտիվ տարրեր պարունակող popover-ների համար. մոդալ երկխոսությունները կթողնեն ֆոկուսը, այնպես որ, քանի դեռ popover-ը մոդալի մանկական տարր չէ, օգտվողները չեն կարողանա կենտրոնացնել կամ ակտիվացնել այս ինտերակտիվ տարրերը:

const popover = new bootstrap.Popover('.example-popover', {
  container: '.modal-body'
})

Պատվերով պոպովեր

Ավելացված է v5.2.0-ում

Դուք կարող եք հարմարեցնել popover-ների տեսքը՝ օգտագործելով CSS փոփոխականները : Մենք սահմանել ենք հատուկ դաս, որի data-bs-custom-class="custom-popover"հետ ընդգրկում ենք մեր հատուկ տեսքը և այն օգտագործում ենք տեղային CSS փոփոխականներից մի քանիսը անտեսելու համար:

.custom-popover {
  --bs-popover-max-width: 200px;
  --bs-popover-border-color: var(--bs-primary);
  --bs-popover-header-bg: var(--bs-primary);
  --bs-popover-header-color: var(--bs-white);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: .5rem;
}
html
<button type="button" class="btn btn-secondary"
        data-bs-toggle="popover" data-bs-placement="right"
        data-bs-custom-class="custom-popover"
        data-bs-title="Custom popover"
        data-bs-content="This popover is themed via CSS variables.">
  Custom popover
</button>

Փակել հաջորդ սեղմումով

Օգտագործեք focusձգանը՝ անջատելու տարրից տարբերվող տարրի օգտատիրոջ հաջորդ կտտոցով popover-ները հեռացնելու համար:

Հերթական սեղմումով անջատելու համար պահանջվում է հատուկ նշում

Բրաուզերի և միջպլատֆորմների պատշաճ վարքի համար դուք պետք է օգտագործեք <a>պիտակը, ոչ թե <button>պիտակը, ինչպես նաև պետք է ներառեք tabindexհատկանիշ:

html
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
const popover = new bootstrap.Popover('.popover-dismiss', {
  trigger: 'focus'
})

Հաշմանդամ տարրեր

Հատկանիշով տարրերը disabledինտերակտիվ չեն, ինչը նշանակում է, որ օգտատերերը չեն կարող սավառնել կամ սեղմել դրանց վրա՝ բաց թողնելու համար (կամ գործիքի հուշում): Որպես ելք՝ դուք պետք է գործարկեք «popover»-ը փաթաթիչից <div>կամ <span>իդեալականորեն ստեղծված ստեղնաշարի վրա կենտրոնացված օգտագործելով tabindex="0".

Անջատված popover գործարկիչների դեպքում դուք կարող եք նաև նախընտրել data-bs-trigger="hover focus", որպեսզի popover-ը հայտնվի որպես անմիջական տեսողական արձագանք ձեր օգտատերերին, քանի որ նրանք չեն ակնկալում սեղմել անջատված տարրի վրա:

html
<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>

CSS

Փոփոխականներ

Ավելացված է v5.2.0-ում

Որպես Bootstrap-ի զարգացող CSS փոփոխականների մոտեցման մաս, popover-ներն այժմ օգտագործում են տեղական CSS փոփոխականներ՝ .popoverիրական ժամանակում կատարելագործված հարմարեցման համար: CSS փոփոխականների արժեքները սահմանվում են Sass-ի միջոցով, ուստի Sass-ի հարմարեցումը դեռևս աջակցվում է:

  --#{$prefix}popover-zindex: #{$zindex-popover};
  --#{$prefix}popover-max-width: #{$popover-max-width};
  @include rfs($popover-font-size, --#{$prefix}popover-font-size);
  --#{$prefix}popover-bg: #{$popover-bg};
  --#{$prefix}popover-border-width: #{$popover-border-width};
  --#{$prefix}popover-border-color: #{$popover-border-color};
  --#{$prefix}popover-border-radius: #{$popover-border-radius};
  --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};
  --#{$prefix}popover-box-shadow: #{$popover-box-shadow};
  --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};
  --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};
  @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);
  --#{$prefix}popover-header-color: #{$popover-header-color};
  --#{$prefix}popover-header-bg: #{$popover-header-bg};
  --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};
  --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};
  --#{$prefix}popover-body-color: #{$popover-body-color};
  --#{$prefix}popover-arrow-width: #{$popover-arrow-width};
  --#{$prefix}popover-arrow-height: #{$popover-arrow-height};
  --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);
  

Sass փոփոխականներ

$popover-font-size:                 $font-size-sm;
$popover-bg:                        $white;
$popover-max-width:                 276px;
$popover-border-width:              $border-width;
$popover-border-color:              var(--#{$prefix}border-color-translucent);
$popover-border-radius:             $border-radius-lg;
$popover-inner-border-radius:       subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow:                $box-shadow;

$popover-header-font-size:          $font-size-base;
$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-ները JavaScript-ի միջոցով.

const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)

Ստեղնաշարի և օժանդակ տեխնոլոգիաների օգտատերերի համար պոպովեր պատրաստելը

Որպեսզի ստեղնաշարի օգտատերերին թույլատրեք ակտիվացնել ձեր popover-ները, դուք պետք է դրանք ավելացնեք միայն HTML տարրերին, որոնք ավանդաբար կենտրոնացված են ստեղնաշարի վրա և ինտերակտիվ են (օրինակ՝ հղումները կամ ձևի կառավարումը): Թեև կամայական HTML տարրերը (օրինակ՝ <span>s) կարող են կենտրոնացվել՝ ավելացնելով tabindex="0"հատկանիշը, սա ստեղնաշարի օգտագործողների համար կավելացնի պոտենցիալ նյարդայնացնող և շփոթեցնող ներդիրներ ոչ ինտերակտիվ տարրերի վրա, և օժանդակ տեխնոլոգիաների մեծ մասը ներկայումս չի հայտարարում popover-ի բովանդակության մասին այս իրավիճակում: . Բացի այդ, մի ապավինեք բացառապես hoverորպես ձեր popover-ների գործարկիչին, քանի որ դա անհնարին կդարձնի դրանք գործարկել ստեղնաշարի օգտագործողների համար:

Թեև դուք կարող եք հարուստ, կառուցվածքային HTML-ը տեղադրել popover-ներում այս htmlտարբերակով, մենք խստորեն խորհուրդ ենք տալիս խուսափել չափազանց մեծ քանակությամբ բովանդակություն ավելացնելուց: Պոպովերի ներկայիս աշխատանքի եղանակն այն է, որ ցուցադրվելուց հետո դրանց բովանդակությունը կապված է aria-describedbyհատկանիշով ձգանման տարրի հետ: Արդյունքում, popover-ի բովանդակության ամբողջությունը կհայտարարվի օժանդակ տեխնոլոգիաների օգտվողներին որպես մեկ երկար, անխափան հոսք:

Բացի այդ, թեև հնարավոր է նաև ներառել ինտերակտիվ կառավարումներ (օրինակ՝ ձևի տարրեր կամ հղումներ) ձեր popover-ում (ավելացնելով այս տարրերը allowListթույլատրելի ատրիբուտների և պիտակների մեջ), տեղյակ եղեք, որ ներկայումս popover-ը չի կառավարում ստեղնաշարի ֆոկուսի կարգը: Երբ ստեղնաշարի օգտագործողը բացում է popover-ը, կենտրոնացումը մնում է գործարկող տարրի վրա, և քանի որ popover-ը սովորաբար անմիջապես չի հետևում փաստաթղթի կառուցվածքի ձգանին, երաշխիք չկա, որ առաջ շարժվելը/սեղմելըTABկտեղափոխի ստեղնաշարի օգտագործողին հենց popover-ի մեջ: Մի խոսքով, ինտերակտիվ հսկիչները պարզապես ավելացնելով popover-ին, ամենայն հավանականությամբ, այս հսկիչները անհասանելի/անօգտագործելի կդարձնեն ստեղնաշարից օգտվողների և օժանդակ տեխնոլոգիաների օգտագործողների համար, կամ առնվազն անտրամաբանական ընդհանուր ֆոկուսային կարգի կհանգեցնեն: Այս դեպքերում, փոխարենը մտածեք մոդալ երկխոսության օգտագործման մասին:

Ընտրանքներ

Քանի որ ընտրանքները կարող են փոխանցվել տվյալների ատրիբուտների կամ JavaScript-ի միջոցով, կարող եք տարբերակի անուն ավելացնել data-bs-, ինչպես օրինակում data-bs-animation="{value}": Համոզվեք, որ փոխեք տարբերակի անվան պատյանների տեսակը « camelCase »-ից « kebab-case »՝ ընտրանքները տվյալների ատրիբուտների միջոցով փոխանցելիս: Օրինակ՝ օգտագործել data-bs-custom-class="beautifier"փոխարենը data-bs-customClass="beautifier":

Bootstrap 5.2.0-ի դրությամբ բոլոր բաղադրիչներն աջակցում են փորձարարական վերապահված տվյալների հատկանիշ data-bs-config, որը կարող է տեղավորել պարզ բաղադրիչի կազմաձևումը որպես JSON տող: Երբ տարրն ունի data-bs-config='{"delay":0, "title":123}'և data-bs-title="456"ատրիբուտներ, վերջնական titleարժեքը կլինի, 456և առանձին տվյալների ատրիբուտները կգերակայեն .-ին տրված արժեքներին data-bs-config: Բացի այդ, առկա տվյալների ատրիբուտները կարող են տեղավորել JSON արժեքներ, ինչպիսիք են data-bs-delay='{"show":0,"hide":150}'.

Նկատի ունեցեք, որ անվտանգության նկատառումներից ելնելով sanitize, sanitizeFn, և allowListտարբերակները չեն կարող տրամադրվել տվյալների ատրիբուտների միջոցով:
Անուն Տիպ Կանխադրված Նկարագրություն
allowList օբյեկտ Կանխադրված արժեք Օբյեկտ, որը պարունակում է թույլատրելի ատրիբուտներ և պիտակներ:
animation բուլյան true Կիրառեք CSS fade անցում դեպի popover:
boundary լար, տարր 'clippingParents' Փոփովերի արտահոսքի սահմանափակման սահմանը (կիրառվում է միայն Popper-ի preventOverflow փոփոխիչի համար): Լռելյայնորեն, այն 'clippingParents'և կարող է ընդունել HTMLElement հղում (միայն JavaScript-ի միջոցով): Լրացուցիչ տեղեկությունների համար տես Popper's detectOverflow փաստաթղթերը :
container տող, տարր, կեղծ false Ավելացնում է popover-ը կոնկրետ տարրի վրա: Օրինակ՝ container: 'body'. Այս տարբերակը հատկապես օգտակար է նրանով, որ այն թույլ է տալիս փաստաթղթի հոսքի մեջ տեղադրել popover-ը գործարկող տարրի մոտ, ինչը թույլ չի տա, որ popover-ը հեռանա գործարկող տարրից պատուհանի չափափոխման ժամանակ:
content տող, տարր, ֆունկցիա '' Բովանդակության կանխադրված արժեքը, եթե data-bs-contentհատկանիշը չկա: Եթե ​​տրված է ֆունկցիա, այն կկանչվի իր thisհղումներով այն տարրին, որին կցված է popover-ը:
customClass լար, ֆունկցիա '' Ավելացրեք դասեր popover-ին, երբ այն ցուցադրվում է: Նկատի ունեցեք, որ այս դասերը կավելացվեն ի լրումն ձևանմուշում նշված ցանկացած դասի: Մի քանի դասեր ավելացնելու համար դրանք առանձնացրեք բացատներով՝ 'class-1 class-2'. Կարող եք նաև փոխանցել գործառույթ, որը պետք է վերադարձնի մեկ տող, որը պարունակում է լրացուցիչ դասերի անուններ:
delay թիվ, օբյեկտ 0 Պոպովերի (ms) ցուցադրման և թաքցման հետաձգումը չի վերաբերում ձեռքով ձգանման տեսակին: Եթե ​​համարը տրվում է, ապա ուշացումը կիրառվում է ինչպես թաքցնել/ցուցադրել: Օբյեկտի կառուցվածքը հետևյալն է delay: { "show": 500, "hide": 100 }.
fallbackPlacements տող, զանգված ['top', 'right', 'bottom', 'left'] Սահմանեք հետադարձ տեղադրությունները՝ տրամադրելով զանգվածում տեղաբաշխումների ցանկը (նախապատվության կարգով): Լրացուցիչ տեղեկությունների համար տես Պոպերի վարքագծի փաստաթղթերը :
html բուլյան false Թույլատրել HTML-ը popover-ում: Եթե ​​ճիշտ է, ապա HTML պիտակները popover- titleում կարտացոլվեն popover-ում: Եթե ​​կեղծ է, innerTextգույքը կօգտագործվի DOM-ում բովանդակություն մտցնելու համար: Օգտագործեք տեքստ, եթե ձեզ անհանգստացնում են XSS հարձակումները:
offset թիվ, տող, ֆունկցիա [0, 0] Պոպովերի օֆսեթ՝ իր թիրախի համեմատ: Դուք կարող եք տող փոխանցել տվյալների ատրիբուտներում ստորակետերով առանձնացված արժեքներով, ինչպիսիք են data-bs-offset="10,20". Երբ ֆունկցիան օգտագործվում է օֆսեթը որոշելու համար, այն կանչվում է՝ որպես իր առաջին արգումենտ պարունակող popper-ի տեղադրումը, հղումը և popper-ի ուղղումները: Գործարկող տարրը DOM հանգույցը փոխանցվում է որպես երկրորդ արգումենտ: Ֆունկցիան պետք է վերադարձնի զանգված երկու թվերով՝ skidding , հեռավորություն : Լրացուցիչ տեղեկությունների համար տես Պոպերի օֆսեթ փաստաթղթերը :
placement լար, ֆունկցիա 'top' Ինչպես տեղադրել popover-ը` ավտոմատ, վերև, ներքև, ձախ, աջ: Երբ autoնշված է, այն դինամիկ կերպով կվերակողմնորոշի popover-ը: Երբ ֆունկցիան օգտագործվում է տեղաբաշխումը որոշելու համար, այն կանչվում է՝ որպես առաջին արգումենտ popover DOM հանգույցը, իսկ երկրորդը՝ DOM հանգույցը՝ գործարկող տարրը: Համատեքստը thisդրված է popover օրինակին:
popperConfig զրոյական, օբյեկտ, ֆունկցիա null Bootstrap-ի լռելյայն Popper կոնֆիգուրացիան փոխելու համար տե՛ս Popper-ի կոնֆիգուրացիան : Երբ ֆունկցիան օգտագործվում է Popper կոնֆիգուրացիան ստեղծելու համար, այն կանչվում է օբյեկտի հետ, որը պարունակում է Bootstrap-ի լռելյայն Popper կոնֆիգուրացիան: Այն օգնում է ձեզ օգտագործել և միաձուլել կանխադրվածը ձեր սեփական կազմաձևի հետ: Ֆունկցիան պետք է վերադարձնի Popper-ի կազմաձևման օբյեկտ:
sanitize բուլյան true Միացնել կամ անջատել ախտահանումը: Եթե ​​ակտիվացվի 'template', 'content'և 'title'ընտրանքները կախտահանվեն:
sanitizeFn զրոյական, ֆունկցիա null Այստեղ դուք կարող եք ապահովել ձեր սեփական ախտահանման գործառույթը: Սա կարող է օգտակար լինել, եթե նախընտրում եք օգտագործել հատուկ գրադարան՝ սանիտարական մաքրման համար:
selector լար, կեղծ false Եթե ​​ընտրիչ է տրամադրվում, popover օբյեկտները կփոխանցվեն նշված թիրախներին: Գործնականում սա օգտագործվում է նաև դինամիկորեն ավելացված DOM տարրերի վրա popover-ներ կիրառելու համար ( jQuery.onաջակցություն): Տես այս թողարկումը և տեղեկատվական օրինակը :
template լար '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' Բազային HTML-ն օգտագործելու համար popover-ը ստեղծելիս: The popover- titleը ներարկվելու է .popover-inner. .popover-arrowկդառնա պոպովերի նետը: Ամենաարտաքին փաթաթման տարրը պետք է ունենա .popoverդաս և role="popover".
title տող, տարր, ֆունկցիա '' Վերնագրի կանխադրված արժեքը, եթե titleհատկանիշը չկա: Եթե ​​տրված է ֆունկցիա, այն կկանչվի իր thisհղումներով այն տարրին, որին կցված է popover-ը:
trigger լար 'hover focus' Ինչպես է առաջանում popover-ը. սեղմել, սավառնել, ֆոկուս, ձեռնարկ: Դուք կարող եք անցնել մի քանի ձգան; առանձնացրեք դրանք բացատով: 'manual'ցույց է տալիս, որ popover-ը կգործարկվի ծրագրային եղանակով .popover('show')և .popover('hide')մեթոդների .popover('toggle')միջոցով. այս արժեքը չի կարող համակցվել որևէ այլ ձգանի հետ: 'hover'Ինքնուրույն կհանգեցնի պոպովերի, որոնք չեն կարող գործարկվել ստեղնաշարի միջոցով և պետք է օգտագործվեն միայն այն դեպքում, եթե առկա են ստեղնաշարի օգտագործողների համար նույն տեղեկատվությունը փոխանցելու այլընտրանքային մեթոդներ:

Տվյալների ատրիբուտներ առանձին պոպովերի համար

Անհատական ​​պոպովերի տարբերակները կարող են այլընտրանքային կերպով սահմանվել տվյալների ատրիբուտների օգտագործման միջոցով, ինչպես բացատրվեց վերևում:

Օգտագործելով գործառույթըpopperConfig

const popover = new bootstrap.Popover(element, {
  popperConfig(defaultBsPopperConfig) {
    // const newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

Մեթոդներ

Ասինխրոն մեթոդներ և անցումներ

Բոլոր API մեթոդները ասինխրոն են և սկսում են անցում : Նրանք վերադառնում են զանգահարողին հենց որ անցումը սկսվի, բայց մինչև այն ավարտվի : Բացի այդ, անցումային բաղադրիչի վրա մեթոդի կանչը անտեսվելու է :

Լրացուցիչ տեղեկությունների համար տես մեր JavaScript փաստաթղթերը :

Մեթոդ Նկարագրություն
disable Հեռացնում է տարրի popover-ի ցուցադրման հնարավորությունը: Popover-ը հնարավոր կլինի ցուցադրել միայն այն դեպքում, եթե այն նորից միացվի:
dispose Թաքցնում և ոչնչացնում է տարրի popover-ը (Հեռացնում է DOM տարրի պահպանված տվյալները): Պոպովերը, որոնք օգտագործում են պատվիրակում (որոնք ստեղծվում են selectorտարբերակի միջոցով ) չեն կարող անհատապես ոչնչացվել հետնորդ ձգան տարրերի վրա:
enable Տարրի popover-ին ցուցադրվելու հնարավորություն է տալիս: Popover-ները լռելյայն միացված են:
getInstance Ստատիկ մեթոդ, որը թույլ է տալիս ստանալ popover օրինակ՝ կապված DOM տարրի հետ:
getOrCreateInstance Ստատիկ մեթոդ, որը թույլ է տալիս ստանալ popover օրինակը, որը կապված է DOM տարրի հետ, կամ ստեղծել նորը, եթե այն նախաստորագրված չէ:
hide Թաքցնում է տարրի պոպովերը: Վերադառնում է զանգահարողին նախքան popover-ը իրականում թաքցվել է (այսինքն՝ նախքան hidden.bs.popoverիրադարձությունը տեղի ունենալը): Սա համարվում է պոպովերի «մեխանիկական» հրահրում:
setContent Թույլ է տալիս փոխել popover-ի բովանդակությունը դրա սկզբնավորումից հետո:
show Բացահայտում է տարրի պոպովեր: Վերադառնում է զանգահարողին նախքան փոփերի փաստացի ցուցադրումը (այսինքն՝ նախքան shown.bs.popoverիրադարձությունը տեղի ունենալը): Սա համարվում է պոպովերի «մեխանիկական» հրահրում: Պոպովերը, որոնց անվանումը և բովանդակությունը երկուսն էլ զրոյական երկարություն ունեն, երբեք չեն ցուցադրվում:
toggle Անջատում է տարրի popover-ը: Վերադառնում է զանգահարողին նախքան popover-ն իրականում ցուցադրվել կամ թաքցվել է (այսինքն՝ նախքան իրադարձությունը shown.bs.popoverկամ hidden.bs.popoverիրադարձությունը տեղի ունենալը): Սա համարվում է պոպովերի «մեխանիկական» հրահրում:
toggleEnabled Անջատում է տարրի popover-ի ցուցադրման կամ թաքցման հնարավորությունը:
update Թարմացնում է տարրի popover-ի դիրքը:
// getOrCreateInstance example
const popover = bootstrap.Popover.getOrCreateInstance('#example') // Returns a Bootstrap popover instance

// setContent example
myPopover.setContent({
  '.popover-header': 'another title',
  '.popover-body': 'another content'
})
Մեթոդն setContentընդունում է objectարգումենտ, որտեղ յուրաքանչյուր հատկության բանալի վավեր stringընտրիչ է popover ձևանմուշում, և յուրաքանչյուր հարակից հատկություն-արժեք կարող է լինել string| element| function| null

Իրադարձություններ

Իրադարձություն Նկարագրություն
hide.bs.popover Այս իրադարձությունը գործարկվում է անմիջապես, երբ hideկանչվում է օրինակի մեթոդը:
hidden.bs.popover Այս իրադարձությունը գործարկվում է, երբ popover-ն ավարտում է օգտագործողից թաքցնելը (կսպասի CSS անցումների ավարտին):
inserted.bs.popover Այս միջոցառումը գործարկվում է այն show.bs.popoverիրադարձությունից հետո, երբ popover ձևանմուշը ավելացվի DOM-ում:
show.bs.popover Այս իրադարձությունը գործարկվում է անմիջապես, երբ showկանչվում է օրինակի մեթոդը:
shown.bs.popover Այս իրադարձությունը գործարկվում է, երբ popover-ը տեսանելի է դառնում օգտատիրոջը (կսպասի CSS անցումների ավարտին):
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})