အဓိကအကြောင်းအရာသို့ ကျော်သွားပါ။ စာရွက်စာတမ်းလမ်းညွှန်မှုသို့ ကျော်သွားပါ။
Check
in English

Popovers

iOS တွင်တွေ့ရှိရသည့်အရာများကဲ့သို့ Bootstrap popovers များထည့်ခြင်းအတွက် စာရွက်စာတမ်းများနှင့် ဥပမာများ၊ သင့်ဆိုက်ရှိ မည်သည့်ဒြပ်စင်သို့မဆို။

ခြုံငုံသုံးသပ်ချက်

popover ပလပ်အင်ကို အသုံးပြုသည့်အခါ သိထားရမည့်အချက်များ

  • Popover များသည် နေရာချထားရန်အတွက် Third Party Library Popper ကို အားကိုးသည် ။ သင်သည် popper.min.js မတိုင်မီ bootstrap.jsတွင်၊ သို့မဟုတ် bootstrap.bundle.min.jsPopper ပါရှိသောတစ်ခုကိုသုံးရပါမည်။
  • Popover များသည် မှီခိုမှုအဖြစ် popover plugin ကို လိုအပ်သည် ။
  • Popovers များသည် စွမ်းဆောင်ရည် အကြောင်းပြချက်များအတွက် ရွေးချယ်ထားသောကြောင့် ၎င်းတို့ကို သင်ကိုယ်တိုင် အစပြုရပါမည်
  • သုညအလျား titleနှင့် contentတန်ဖိုးများသည် ပေါ်ပြူလာကို ဘယ်သောအခါမှ ပြသမည်မဟုတ်ပါ။
  • ပိုမိုရှုပ်ထွေးသော အစိတ်အပိုင်းများတွင် တင်ဆက်ခြင်းပြဿနာများကို ရှောင်ရှားရန် ( ကျွန်ုပ်တို့၏ container: 'body'ထည့်သွင်းမှုအုပ်စုများ၊ ခလုတ်အဖွဲ့များ စသည်ဖြင့်) ကို ရှောင်ရှားရန် သတ်မှတ်ပါ။
  • လျှို့ဝှက်ဒြပ်စင်များပေါ်တွင် popover များကို အစပျိုးခြင်းသည် အလုပ်မဖြစ်ပါ။
  • ထုပ်ပိုးမှု ဒြပ်စင်တစ်ခုပေါ်တွင် ပေါ်လာသည့်အရာများ .disabledသို့မဟုတ် disabledဒြပ်စင်များကို အစပျိုးရပါမည်။
  • မျဥ်းများစွာကို ပတ်ထားသော ကျောက်ဆူးများမှ အစပျိုးသောအခါ၊ ကျောက်ဆူးများ၏ အကျယ်အဝန်းကြားတွင် ပေါ်လာသော အကွက်များကို ဗဟိုပြုပါမည်။ ဤအပြုအမူကိုရှောင်ရှားရန် .text-nowrapသင့်တွင် အသုံးပြု ပါ။<a>
  • ၎င်းတို့၏သက်ဆိုင်ရာဒြပ်စင်များကို DOM မှဖယ်ရှားခြင်းမပြုမီ Popovers များကိုဝှက်ထားရပါမည်။
  • DOM အရိပ်အတွင်း ဒြပ်စင်တစ်ခုကြောင့် Popover များကို အစပျိုးနိုင်သည်။
မူရင်းအားဖြင့်၊ ဤအစိတ်အပိုင်းသည် ရှင်းရှင်းလင်းလင်း ခွင့်မပြုသော မည်သည့် HTML ဒြပ်စင်များကို ဖယ်ရှားပေးသည့် built-in ပါဝင်သည့် သန့်စင်ဆေးကို အသုံးပြုသည်။ အသေးစိတ်အချက်အလက်များအတွက် ကျွန်ုပ်တို့၏ JavaScript စာရွက်စာတမ်းရှိ သန့်စင်ဆေးကဏ္ဍကို ကြည့်ပါ ။
ဤအစိတ်အပိုင်း၏ ကာတွန်းအကျိုးသက်ရောက်မှုသည် prefers-reduced-motionမီဒီယာမေးမြန်းမှုအပေါ် မူတည်ပါသည်။ ကျွန်ုပ်တို့၏ဝင်ရောက်နိုင်မှုမှတ်တမ်း၏ လျှော့ချထားသောရွေ့လျားမှုအပိုင်းကို ကြည့်ပါ ။

ဥပမာအချို့နှင့်အတူ popover များအလုပ်လုပ်ပုံကိုကြည့်ရှုရန်ဆက်လက်ဖတ်ရှုပါ။

ဥပမာများ

Popovers ကိုဖွင့်ပါ။

အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း၊ ၎င်းတို့ကို အသုံးမပြုမီတွင် သင်သည် 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

သင့် HTML တွင် titleဖြစ်စေ အသုံးပြုရန် လွတ်လွတ်လပ်လပ်ခံစား ပါ။ data-bs-titleအသုံးပြု သည့်အခါ ၊ Popper သည် ၎င်းကို ဒြပ်စင်ပြန်ဆိုသည့်အခါ titleအလိုအလျောက်အစားထိုးမည်ဖြစ်သည် ။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

containerသင့်တွင် popover ကို အနှောင့်အယှက်ဖြစ်စေသော ပင်မဒြပ်စင်တစ်ခုတွင် ပုံစံအချို့ရှိသောအခါ၊ ထိုအစား popover ၏ HTML သည် ထိုဒြပ်စင်အတွင်းတွင် ပေါ်လာစေရန် စိတ်ကြိုက်တစ်ခုကို သတ်မှတ်လို မည်ဖြစ်သည်။ ၎င်းသည် တုံ့ပြန်မှုဇယားများ၊ ထည့်သွင်းမှုအုပ်စုများနှင့် အခြားအရာများတွင် အဖြစ်များသည်။

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

တိကျပြတ်သားသော စိတ်ကြိုက်တစ်ခု သတ်မှတ်လိုသည့် နောက်ထပ်အခြေအနေတစ်ခုမှာ popover သည် modal နှင့် ထပ်ပေါင်းထားကြောင်း သေချာစေရန် modal dialogcontainer အတွင်းရှိ popover များ ဖြစ်သည်။ အပြန်အလှန်အကျိုးပြုသည့်ဒြပ်စင်များပါရှိသော popover များအတွက် ၎င်းသည် အထူးအရေးကြီးသည် – modal dialogs များသည် focus ကို ထောင်ချောက်ဆင်လိမ့်မည်၊ ထို့ကြောင့် popover သည် modal ၏ ကလေးဒြပ်စင်မဟုတ်ပါက၊ အသုံးပြုသူများသည် ဤအပြန်အလှန်အကျိုးသက်ရောက်သောဒြပ်စင်များကို အာရုံစိုက်ခြင်း သို့မဟုတ် အသက်သွင်းနိုင်မည်မဟုတ်ပေ။

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

စိတ်ကြိုက် popovers

v5.2.0 တွင် ထည့်သွင်းထားသည်။

CSS variables များကို အသုံးပြု၍ popover များ၏ အသွင်အပြင်ကို စိတ်ကြိုက်ပြင်ဆင် နိုင်ပါသည်။ data-bs-custom-class="custom-popover"ကျွန်ုပ်တို့၏ စိတ်ကြိုက်အသွင်အပြင်ကို အတိုင်းအတာတစ်ခုအထိ အတိုင်းအတာတစ်ခုအထိ စိတ်ကြိုက်အတန်းတစ်ခု သတ်မှတ်ပြီး အချို့သော ဒေသဆိုင်ရာ CSS variable များကို အစားထိုးရန် ၎င်းကို အသုံးပြုပါသည်။

.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 များကိုပယ်ရန် trigger ကိုသုံးပါ။

dismiss-on-next-click အတွက် သီးခြား markup လိုအပ်သည်။

သင့်လျော်သော-ဘရောက်ဇာနှင့် ကူးသန်းရောင်းဝယ်ရေးဆိုင်ရာ အပြုအမူအတွက်၊ တဂ်ကို အသုံးပြုရမည်ဖြစ်ပြီး တဂ် ကို <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 (သို့မဟုတ် ကိရိယာအကြံပြုချက်) ကို အစပျိုးရန် ၎င်းတို့ကို ပျံဝဲ သို့မဟုတ် ကလစ်နှိပ်၍ မရနိုင်ပါ။ ဖြေရှင်းနည်းတစ်ခုအနေဖြင့်၊ သင်သည် ထုပ်ပိုးမှုတစ်ခုမှ popover ကို အစပျိုးလိုလိမ့်မည် <div>သို့မဟုတ် <span>၊ အကောင်းဆုံးအားဖြင့် ဖန်တီးထားသော ကီးဘုတ်ကို အသုံးပြု၍ အာရုံစူးစိုက်နိုင်သော tabindex="0".

disabled popover အစပျိုးမှုများအတွက်၊ popover သည် disabled element ကိုနှိပ်ရန်data-bs-trigger="hover focus" မမျှော်လင့်နိုင်သောကြောင့် သင့်အသုံးပြုသူများအတွက် ချက်ချင်းမြင်သာသော တုံ့ပြန်ချက်အဖြစ် ပေါ်လာစေရန် သင်နှစ်သက်နိုင်သည်။

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 variables ချဉ်းကပ်မှု၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့်၊ ယခု popover များသည် .popoverအချိန်နှင့်တစ်ပြေးညီ စိတ်ကြိုက်ပြင်ဆင်ရန်အတွက် local CSS variable များကို အသုံးပြုပါသည်။ CSS variable များအတွက် တန်ဖိုးများကို 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;

အသုံးပြုမှု

JavaScript မှတဆင့် popovers ကိုဖွင့်ပါ-

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

ကီးဘုတ်နှင့် အထောက်အကူနည်းပညာအသုံးပြုသူများအတွက် popover များပြုလုပ်ခြင်း။

ကီးဘုတ်အသုံးပြုသူများအား သင်၏ popovers များကို အသက်သွင်းခွင့်ပြုရန်၊ ၎င်းတို့ကို ရိုးရာကီးဘုတ်-အာရုံစိုက်၍ အပြန်အလှန်အကျိုးပြုသည့် (လင့်ခ်များ သို့မဟုတ် ဖောင်ပုံစံထိန်းချုပ်မှုများကဲ့သို့သော) HTML အစိတ်အပိုင်းများသို့သာ ထည့်သွင်းသင့်သည်။ ရည်ညွှန်းချက်ထည့်ခြင်းဖြင့် မထင်မှတ်ထားသော HTML ဒြပ်စင်များ (များကဲ့သို့ <span>) ကို အာရုံစူးစိုက်နိုင်စေ tabindex="0"သော်လည်း၊ ၎င်းသည် ကီးဘုတ်အသုံးပြုသူများအတွက် အပြန်အလှန်တုံ့ပြန်မှုမရှိသော ဒြပ်စင်များပေါ်တွင် စိတ်အနှောက်အယှက်ဖြစ်နိုင်ချေရှိသော တက်ဘ်များကို ရပ်တန့်စေမည်ဖြစ်ပြီး အကူအညီပေးသောနည်းပညာအများစုသည် ယခုအခြေအနေတွင် popover ၏အကြောင်းအရာကို မကြေငြာပါ . ထို့အပြင်၊ hoverသင်၏ popovers အတွက် အစပျိုးမှုအဖြစ် တစ်ခုတည်းကိုသာ အားမကိုးပါနှင့်၊ ၎င်းသည် ကီးဘုတ်အသုံးပြုသူများအတွက် အစပျိုးရန် မဖြစ်နိုင်တော့ပါ။

ရွေးချယ်စရာများ ဖြင့် ကြွယ်ဝသော၊ ဖွဲ့စည်းတည်ဆောက်ထားသော HTML ကို popovers တွင် htmlသင်ထည့်သွင်းနိုင်သော်လည်း၊ အကြောင်းအရာများစွာကို အလွန်အကျွံထည့်ခြင်းမှ ရှောင်ကြဉ်ရန် ကျွန်ုပ်တို့ အလေးအနက် အကြံပြုအပ်ပါသည်။ လက်ရှိတွင် popover များအလုပ်လုပ်ပုံမှာ၊ ပြသပြီးသည်နှင့် ၎င်းတို့၏အကြောင်းအရာသည် aria-describedbyattribute ဖြင့် trigger element နှင့် ချိတ်ဆက်ထားသည်။ ရလဒ်အနေဖြင့်၊ popover ၏အကြောင်းအရာတစ်ခုလုံးကို ရှည်လျားပြီး အနှောက်အယှက်ကင်းသော ထုတ်လွှင့်မှုတစ်ခုအဖြစ် အထောက်အကူနည်းပညာအသုံးပြုသူများအတွက် ကြေငြာပါမည်။

ထို့အပြင်၊ သင်၏ popover တွင် အပြန်အလှန်အထိန်းအကွပ်များ (ပုံစံဒြပ်စင်များ သို့မဟုတ် လင့်ခ်များကဲ့သို့) (ဤဒြပ်စင်များကို allowListခွင့်ပြုထားသော attribute များနှင့် tags များသို့ ထည့်ခြင်းဖြင့်) လောလောဆယ်တွင် popover သည် ကီးဘုတ်အာရုံစူးစိုက်မှုအစီအစဉ်ကို မစီမံခန့်ခွဲကြောင်း သတိပြုပါ။ ကီးဘုတ်အသုံးပြုသူတစ်ဦးသည် popover ကိုဖွင့်သောအခါ၊ အစပျိုးသည့်ဒြပ်စင်ပေါ်တွင် အာရုံစူးစိုက်ထားဆဲဖြစ်ပြီး popover သည် များသောအားဖြင့် စာရွက်စာတမ်း၏ဖွဲ့စည်းပုံရှိ trigger ကိုချက်ချင်းမလိုက်နာသောကြောင့်၊ ရှေ့သို့ရွှေ့ခြင်း/နှိပ်ခြင်းအား အာမခံချက်မရှိပါ။TABကီးဘုတ်အသုံးပြုသူတစ်ဦးအား popover ကိုယ်တိုင်သို့ ရွှေ့ပါမည်။ အတိုချုပ်အားဖြင့်၊ popover တစ်ခုတွင် အပြန်အလှန်တုံ့ပြန်ထိန်းချုပ်မှုများကို ရိုးရှင်းစွာထည့်သွင်းခြင်းသည် ကီးဘုတ်အသုံးပြုသူများနှင့် အထောက်အကူပြုနည်းပညာအသုံးပြုသူများအတွက် ဤထိန်းချုပ်မှုများကို လက်လှမ်းမမီနိုင်/အသုံးမဝင်နိုင်စေရန်၊ သို့မဟုတ် အနည်းဆုံးအားဖြင့် ယုတ္တိမတန်သော အလုံးစုံအာရုံစိုက်မှုတစ်ခုအတွက် ပြုလုပ်နိုင်ဖွယ်ရှိသည်။ ဤကိစ္စများတွင်၊ အစား modal dialog ကိုသုံးရန်စဉ်းစားပါ။

ရွေးချယ်စရာများ

ရွေးချယ်မှုများကို ဒေတာ attributes သို့မဟုတ် JavaScript မှတဆင့် ကျော်ဖြတ်နိုင်သောကြောင့်၊ သင်သည် ရွေးချယ်မှုအမည်တစ်ခုအား ထည့်သွင်း data-bs-နိုင်သည် data-bs-animation="{value}"။ ဒေတာ attribute များမှတစ်ဆင့် ရွေးချယ်မှုများကို ဖြတ်သန်းသည့်အခါ “ camelCase ” မှ “ kebab-case ” သို့ ရွေးချယ်မှုအမည်၏ case အမျိုးအစားကို ပြောင်းလဲရန် သေချာပါစေ ။ ဥပမာအားဖြင့်၊ data-bs-custom-class="beautifier"အစားကို သုံးပါ data-bs-customClass="beautifier"

Bootstrap 5.2.0 အရ၊ အစိတ်အပိုင်းအားလုံးသည် JSON စာကြောင်းကဲ့သို့ ရိုးရှင်းသော အစိတ်အပိုင်းဖွဲ့စည်းမှုပုံစံကို ထားရှိပေးနိုင်သည့် စမ်းသပ် လက်ဝယ်ထားသော ဒေတာ attribute ကို ပံ့ပိုးပေးပါသည်။ data-bs-configဒြပ်စင်တစ်ခုတွင် ရည်ညွှန်းချက်ပါရှိသည့်အခါ ၊ နောက်ဆုံး တန်ဖိုးသည် ဖြစ်မည်ဖြစ်ပြီး သီးခြားဒေ data-bs-config='{"delay":0, "title":123}'တာ attribute များသည် ပေးထားသောတန်ဖိုးများကို အစားထိုးမည်ဖြစ်သည် ။ ထို့အပြင်၊ ရှိပြီးသားဒေတာ attribute များသည် JSON တန်ဖိုးများကဲ့သို့ နေရာယူနိုင်သည် ။data-bs-title="456"title456data-bs-configdata-bs-delay='{"show":0,"hide":150}'

လုံခြုံရေးအကြောင်းပြချက်များအတွက် sanitize, sanitizeFn, နှင့် allowListရွေးချယ်စရာများကို ဒေတာ attribute များအသုံးပြု၍ ပံ့ပိုးမပေးနိုင်ကြောင်း သတိပြုပါ။
နာမည် ရိုက်ပါ။ ပုံသေ ဖော်ပြချက်
allowList အရာဝတ္ထု မူလတန်ဖိုး ခွင့်ပြုထားသော အရည်အချင်းများနှင့် တဂ်များပါရှိသော အရာ။
animation ဘူလီယံ true CSS မှိန်သောအကူးအပြောင်းကို popover သို့အသုံးပြုပါ။
boundary string၊ ဒြပ်စင် 'clippingParents' popover ၏ ကန့်သတ်ကန့်သတ်နယ်နိမိတ် (Popper ၏ PreventOverflow ပြုပြင်မွမ်းမံမှုတွင်သာ အကျုံးဝင်သည်)။ မူရင်းအားဖြင့်၊ ၎င်းသည် 'clippingParents'HTMLElement အကိုးအကား (JavaScript မှတဆင့်သာ) လက်ခံနိုင်သည်။ နောက်ထပ်အချက်အလက်များအတွက် Popper ၏ detectOverflow docs ကို ကိုးကားပါ ။
container string, element, false false Popover ကို သီးခြားဒြပ်စင်တစ်ခုသို့ ပေါင်းထည့်သည်။ ဥပမာ- container: 'body'။ ဤရွေးချယ်မှုသည် အထူးအသုံးဝင်သည် - ၎င်းသည် စတင်အသုံးပြုသည့်ဒြပ်စင်အနီးရှိ စာရွက်စာတမ်းစီးဆင်းမှုတွင် popover ကို နေရာချနိုင်စေရန်အတွက် အထူးအသုံးဝင်သည် - ၎င်းသည် window အရွယ်အစားပြောင်းလဲစဉ်အတွင်း popover ကို လွှင့်ထုတ်သည့်ဒြပ်စင်မှ ဝေးရာသို့လွင့်သွားခြင်းမှကာကွယ်ပေးသည်။
content string, element, function '' data-bs-contentရည်ညွှန်းချက် မရှိပါက မူရင်းအကြောင်းအရာတန်ဖိုး ။ လုပ်ဆောင်ချက်တစ်ခုကို ပေးမည်ဆိုပါက this၊ popover နှင့်တွဲထားသည့် ဒြပ်စင်အတွက် ၎င်း၏ရည်ညွှန်းသတ်မှတ်မှုဖြင့် ၎င်းကို ခေါ်ပါမည်။
customClass string, function '' ၎င်းကိုပြသသောအခါ popover သို့အတန်းများထည့်ပါ။ နမူနာပုံစံရှိ သတ်မှတ်ထားသည့် အတန်းများအပြင် ဤအတန်းများကို ပေါင်းထည့်မည်ကို သတိပြုပါ။ အတန်းများစွာကို ထည့်ရန်၊ ၎င်းတို့ကို နေရာလွတ်များဖြင့် ခွဲခြားပါ 'class-1 class-2'။ နောက်ထပ်အတန်းအမည်များပါရှိသော စာကြောင်းတစ်ခုတည်းကို ပြန်ပေးသင့်သည့် လုပ်ဆောင်ချက်တစ်ခုကိုလည်း သင်ဖြတ်သန်းနိုင်သည်။
delay နံပါတ်၊ အရာဝတ္ထု 0 popover (ms) ကို ပြသခြင်းနှင့် ဖုံးကွယ်ခြင်း နှောင့်နှေးခြင်း—လူကိုယ်တိုင် အစပျိုးခြင်း အမျိုးအစားနှင့် မသက်ဆိုင်ပါ။ နံပါတ်တစ်ခုကို ပေးဆောင်ပါက၊ ဝှက်ထား/ရှိုးနှစ်ခုစလုံးအတွက် နှောင့်နှေးမှုကို သက်ရောက်သည်။ အရာဝတ္ထုဖွဲ့စည်းပုံမှာ: delay: { "show": 500, "hide": 100 }.
fallbackPlacements string, array ['top', 'right', 'bottom', 'left'] array တွင် နေရာများစာရင်းကို ပေးခြင်းဖြင့် (စိတ်ကြိုက်အစီအစဥ်အတိုင်း) ပံ့ပိုးပေးခြင်းဖြင့် ပြန်လည်နေရာချထားမှုများကို သတ်မှတ်ပါ။ နောက်ထပ်အချက်အလက်များအတွက် Popper ၏ အပြုအမူမှတ်တမ်းများ ကို ကိုးကားပါ ။
html ဘူလီယံ false Popover တွင် HTML ကို ခွင့်ပြုပါ။ မှန်ပါက popover တွင် HTML တဂ်များကို popover titleတွင် ပြန်ဆိုပါမည်။ မှားယွင်းပါက၊ innerTextDOM ထဲသို့ အကြောင်းအရာထည့်သွင်းရန် ပိုင်ဆိုင်မှုကို အသုံးပြုပါမည်။ XSS တိုက်ခိုက်မှုအတွက် သင်စိုးရိမ်ပါက စာသားကို အသုံးပြုပါ။
offset နံပါတ်၊ စာကြောင်း၊ လုပ်ဆောင်ချက် [0, 0] Popover ၏ အော့ဖ်ဆက်သည် ၎င်း၏ပစ်မှတ်နှင့် ဆက်စပ်နေသည်။ သင်သည် အောက်ပါကဲ့သို့ ကော်မာခြားထားသော တန်ဖိုးများဖြင့် ဒေတာ attribute များတွင် စာကြောင်းတစ်ခုကို ဖြတ်သန်းနိုင်သည် data-bs-offset="10,20"။ အော့ဖ်ဆက်ကို ဆုံးဖြတ်ရန် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးပြုသောအခါ၊ ၎င်းကို ၎င်း၏ပထမအငြင်းအခုံအဖြစ် popper နေရာချထားမှု၊ ရည်ညွှန်းချက်နှင့် popper rects ပါရှိသော အရာတစ်ခုဖြင့် ခေါ်သည်။ အစပျိုးသည့်ဒြပ်စင် DOM node ကို ဒုတိယအငြင်းအခုံအဖြစ် ကျော်ဖြတ်သည်။ လုပ်ဆောင်ချက်သည် နံပါတ်နှစ်ခုပါသော array ကို ပြန်ပေးရမည်- လမ်းချော် ခြင်း၊ အကွာအဝေး ။ နောက်ထပ်အချက်အလက်များအတွက် Popper ၏ offset docs ကို ကိုးကားပါ ။
placement string, function 'top' popover ကို ဘယ်လိုနေရာချမလဲ- အော်တို၊ အပေါ်၊ အောက်၊ ဘယ်၊ ညာ။ သတ်မှတ်ထား သည့်အချိန်တွင် auto၊ ၎င်းသည် popover ကို dynamically reorient လုပ်လိမ့်မည်။ နေရာချထားမှုကို ဆုံးဖြတ်ရန် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးပြုသောအခါ၊ ၎င်းကို ၎င်း၏ပထမအငြင်းအခုံအဖြစ် popover DOM node ဖြင့် ခေါ်ဝေါ်ပြီး ၎င်းကို ၎င်း၏ဒုတိယအဖြစ် အစပျိုးသည့်ဒြပ်စင် DOM node ကို ခေါ်သည်။ အကြောင်းအရာကို thispopover ဥပမာအဖြစ် သတ်မှတ်ထားသည်။
popperConfig null, object, function null Bootstrap ၏မူလ Popper config ကိုပြောင်းလဲရန် Popper ၏ဖွဲ့စည်းပုံ ကိုကြည့်ပါ ။ Popper configuration ကိုဖန်တီးရန် function တစ်ခုကိုအသုံးပြုသောအခါ၊ ၎င်းကို Bootstrap ၏မူလ Popper configuration ပါ ၀ င်သည့်အရာတစ်ခုဖြင့်ခေါ်သည်။ ၎င်းသည် သင့်အား သင့်ကိုယ်ပိုင် configuration ဖြင့် ပုံသေပုံစံကို အသုံးပြုပြီး ပေါင်းစည်းရန် ကူညီပေးသည်။ လုပ်ဆောင်ချက်သည် Popper အတွက် ဖွဲ့စည်းမှုအရာဝတ္တုတစ်ခုကို ပြန်ပေးရပါမည်။
sanitize ဘူလီယံ true Enable or disable the sanitization. If activated 'template', 'content' and 'title' options will be sanitized.
sanitizeFn null, function null Here you can supply your own sanitize function. This can be useful if you prefer to use a dedicated library to perform sanitization.
selector string, false false If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to also apply popovers to dynamically added DOM elements (jQuery.on support). See this issue and an informative example.
template string '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' Base HTML to use when creating the popover. The popover’s title will be injected into the .popover-inner. .popover-arrow will become the popover’s arrow. The outermost wrapper element should have the .popover class and role="popover".
title string, element, function '' Default title value if title attribute isn’t present. If a function is given, it will be called with its this reference set to the element that the popover is attached to.
trigger string 'hover focus' How popover is triggered: click, hover, focus, manual. You may pass multiple triggers; separate them with a space. 'manual' indicates that the popover will be triggered programmatically via the .popover('show'), .popover('hide') and .popover('toggle') methods; this value cannot be combined with any other trigger. 'hover' on its own will result in popovers that cannot be triggered via the keyboard, and should only be used if alternative methods for conveying the same information for keyboard users is present.

Data attributes for individual popovers

Options for individual popovers can alternatively be specified through the use of data attributes, as explained above.

Using function with popperConfig

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

Methods

Asynchronous methods and transitions

All API methods are asynchronous and start a transition. They return to the caller as soon as the transition is started but before it ends. In addition, a method call on a transitioning component will be ignored.

See our JavaScript documentation for more information.

Method Description
disable Removes the ability for an element’s popover to be shown. The popover will only be able to be shown if it is re-enabled.
dispose Hides and destroys an element’s popover (Removes stored data on the DOM element). Popovers that use delegation (which are created using the selector option) cannot be individually destroyed on descendant trigger elements.
enable Gives an element’s popover the ability to be shown. Popovers are enabled by default.
getInstance Static method which allows you to get the popover instance associated with a DOM element.
getOrCreateInstance Static method which allows you to get the popover instance associated with a DOM element, or create a new one in case it wasn’t initialized.
hide Hides an element’s popover. Returns to the caller before the popover has actually been hidden (i.e. before the hidden.bs.popover event occurs). This is considered a “manual” triggering of the popover.
setContent Gives a way to change the popover’s content after its initialization.
show Reveals an element’s popover. Returns to the caller before the popover has actually been shown (i.e. before the shown.bs.popover event occurs). This is considered a “manual” triggering of the popover. Popovers whose title and content are both zero-length are never displayed.
toggle Toggles an element’s popover. Returns to the caller before the popover has actually been shown or hidden (i.e. before the shown.bs.popover or hidden.bs.popover event occurs). This is considered a “manual” triggering of the popover.
toggleEnabled Toggles the ability for an element’s popover to be shown or hidden.
update Updates the position of an element’s 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'
})
The setContent method accepts an object argument, where each property-key is a valid string selector within the popover template, and each related property-value can be string | element | function | null

Events

Event Description
hide.bs.popover This event is fired immediately when the hide instance method has been called.
hidden.bs.popover This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).
inserted.bs.popover This event is fired after the show.bs.popover event when the popover template has been added to the DOM.
show.bs.popover This event fires immediately when the show instance method is called.
shown.bs.popover Popover ကို အသုံးပြုသူမြင်အောင်ပြုလုပ်ပြီးသောအခါ (CSS အသွင်ကူးပြောင်းမှုများကို အပြီးသတ်ရန် စောင့်ပါမည်)။
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})