រំលងទៅមាតិកាសំខាន់ រំលងទៅការរុករកឯកសារ
Check
in English

Popovers

ឯកសារ និងឧទាហរណ៍សម្រាប់ការបន្ថែម Bootstrap popovers ដូចជាអ្វីដែលរកឃើញនៅក្នុង iOS ទៅធាតុណាមួយនៅលើគេហទំព័ររបស់អ្នក។

ទិដ្ឋភាពទូទៅ

អ្វីដែលត្រូវដឹងនៅពេលប្រើកម្មវិធីជំនួយ popover៖

  • Popovers ពឹងផ្អែកលើបណ្ណាល័យភាគីទីបី Popper សម្រាប់ការកំណត់ទីតាំង។ អ្នកត្រូវតែបញ្ចូល popper.min.js មុន bootstrap.jsឬប្រើមួយ bootstrap.bundle.min.jsដែលមាន Popper ។
  • Popovers ទាមទារ កម្មវិធីជំនួយ popover ជាការពឹងផ្អែក។
  • Popovers ត្រូវបានជ្រើសរើសសម្រាប់ហេតុផលនៃការអនុវត្ត ដូច្នេះ អ្នកត្រូវតែចាប់ផ្តើម វា ដោយខ្លួនឯង
  • ប្រវែងសូន្យ titleនិង contentតម្លៃនឹងមិនបង្ហាញការលេចឡើងនោះទេ។
  • បញ្ជាក់ container: 'body'ដើម្បីជៀសវាងបញ្ហាក្នុងការបង្ហាញនៅក្នុងសមាសធាតុស្មុគ្រស្មាញ (ដូចជាក្រុមបញ្ចូលរបស់យើង ក្រុមប៊ូតុង។ល។)។
  • ការ​កេះ​ផ្ទាំង​ព័ត៌មាន​លើ​ធាតុ​លាក់​នឹង​មិន​ដំណើរការ​ទេ។
  • Popovers .disableddisabledធាតុត្រូវតែត្រូវបានកេះនៅលើធាតុរុំ។
  • នៅពេលដែលត្រូវបានកេះចេញពីយុថ្កាដែលរុំឆ្លងកាត់បន្ទាត់ជាច្រើន ផ្ទាំងប៉ុបនឹងស្ថិតនៅចំកណ្តាលរវាងទទឹងទាំងមូលរបស់យុថ្កា។ ប្រើ .text-nowrapនៅលើរបស់អ្នក <a>ដើម្បីជៀសវាងអាកប្បកិរិយានេះ។
  • Popovers ត្រូវតែលាក់ មុនពេលធាតុដែលត្រូវគ្នារបស់ពួកគេត្រូវបានយកចេញពី DOM ។
  • Popovers អាច​ត្រូវ​បាន​កេះ​ដោយ​សារ​ធាតុ​មួយ​នៅ​ក្នុង DOM ស្រមោល។
តាមលំនាំដើម សមាសធាតុនេះប្រើសារធាតុអនាម័យមាតិកាដែលភ្ជាប់មកជាមួយ ដែលដកចេញនូវធាតុ HTML ណាមួយដែលមិនត្រូវបានអនុញ្ញាតយ៉ាងច្បាស់។ សូមមើល ផ្នែកអនាម័យនៅក្នុងឯកសារ JavaScript របស់យើង សម្រាប់ព័ត៌មានលម្អិតបន្ថែម។
ឥទ្ធិពលចលនានៃសមាសភាគនេះគឺអាស្រ័យលើ prefers-reduced-motionសំណួរមេឌៀ។ សូមមើល ផ្នែកចលនាដែលបានកាត់បន្ថយនៃឯកសារភាពងាយស្រួលរបស់យើង

បន្តអានដើម្បីមើលពីរបៀបដែល popovers ដំណើរការជាមួយនឹងឧទាហរណ៍មួយចំនួន។

ឧទាហរណ៍

បើកការលេចឡើង

ដូចដែលបានរៀបរាប់ខាងលើ អ្នកត្រូវតែចាប់ផ្តើម popovers មុនពេលពួកវាអាចប្រើបាន។ វិធីមួយដើម្បីចាប់ផ្តើមការលេចឡើងទាំងអស់នៅលើទំព័រមួយគឺដើម្បីជ្រើសរើសពួកវាតាម 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.

ប្រើដោយសេរី titledata-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>

ទិសទាំងបួន

មានជម្រើសបួនគឺ ខាងលើ ស្តាំ បាត និងឆ្វេង។ ទិសដៅត្រូវបានឆ្លុះបញ្ចាំងនៅពេលប្រើ Bootstrap ក្នុង RTL ។ កំណត់ 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ដើម្បីឱ្យ HTML របស់ popover លេចឡើងនៅក្នុងធាតុនោះជំនួសវិញ។ វាជារឿងធម្មតានៅក្នុងតារាងឆ្លើយតប ក្រុមបញ្ចូល និងផ្សេងទៀត។

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

ស្ថានភាពមួយទៀតដែលអ្នកចង់កំណត់ទម្លាប់ច្បាស់លាស់ containerគឺ popovers នៅខាងក្នុងប្រអប់ modal ដើម្បីធ្វើឱ្យប្រាកដថា popover ខ្លួនវាត្រូវបានបន្ថែមទៅ modal ។ នេះមានសារៈសំខាន់ជាពិសេសសម្រាប់ popovers ដែលមានធាតុអន្តរកម្ម – ប្រអប់ម៉ូឌុលនឹងទាក់ទាញការផ្តោតអារម្មណ៍ ដូច្នេះលុះត្រាតែ popover គឺជាធាតុកូនរបស់ modal នោះអ្នកប្រើប្រាស់នឹងមិនអាចផ្តោត ឬធ្វើឱ្យធាតុអន្តរកម្មទាំងនេះសកម្មបានទេ។

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

popovers ផ្ទាល់ខ្លួន

បានបន្ថែមនៅក្នុង v5.2.0

អ្នកអាចប្ដូររូបរាងរបស់ popovers តាមបំណងដោយប្រើ អថេរ 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គន្លឹះដើម្បីច្រានចោលការលេចឡើងនៅលើការចុចបន្ទាប់របស់អ្នកប្រើនៃធាតុផ្សេងគ្នាជាងធាតុបិទបើក។

តម្រូវឱ្យមានការសម្គាល់ជាក់លាក់សម្រាប់ការបដិសេធនៅពេលចុចបន្ទាប់

សម្រាប់ឥរិយាបថឆ្លងកាត់កម្មវិធីរុករក និងឆ្លងវេទិកាត្រឹមត្រូវ អ្នកត្រូវតែប្រើ <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 ពី wrapper <div><span>បង្កើត keyboard-focusable ដោយប្រើ 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

ជាផ្នែកមួយនៃវិធីសាស្រ្តអថេរ CSS ដែលកំពុងវិវឌ្ឍន៍របស់ Bootstrap ឥឡូវនេះ popovers ប្រើអថេរ 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;

ការប្រើប្រាស់

បើកដំណើរការ popovers តាមរយៈ JavaScript៖

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

ការធ្វើឱ្យ popovers ដំណើរការសម្រាប់អ្នកប្រើប្រាស់ក្តារចុច និងជំនួយបច្ចេកវិទ្យា

ដើម្បីអនុញ្ញាតឱ្យអ្នកប្រើក្តារចុចធ្វើឱ្យការលេចឡើងរបស់អ្នកសកម្ម អ្នកគួរតែបន្ថែមពួកវាទៅក្នុងធាតុ HTML ដែលតាមទម្លាប់ក្តារចុចអាចផ្តោតបាន និងអន្តរកម្ម (ដូចជាតំណភ្ជាប់ ឬការគ្រប់គ្រងទម្រង់)។ ទោះបីជាធាតុ HTML បំពាន (ដូចជា <span>s) អាចផ្តោតបានដោយការបន្ថែម tabindex="0"គុណលក្ខណៈក៏ដោយ វានឹងបន្ថែមការបញ្ឈប់ផ្ទាំងដែលអាចរំខាន និងច្របូកច្របល់លើធាតុដែលមិនអន្តរកម្មសម្រាប់អ្នកប្រើប្រាស់ក្តារចុច ហើយបច្ចេកវិទ្យាជំនួយភាគច្រើនបច្ចុប្បន្នមិនប្រកាសមាតិការបស់ popover ក្នុងស្ថានភាពនេះទេ។ . លើសពីនេះ កុំពឹងផ្អែកទាំងស្រុងទៅលើ hoverការកេះសម្រាប់ការលេចចេញរបស់អ្នក ព្រោះវានឹងធ្វើឱ្យពួកវាមិនអាចកេះសម្រាប់អ្នកប្រើប្រាស់ក្តារចុចបានទេ។

ខណៈពេលដែលអ្នកអាចបញ្ចូល HTML ដែលមានរចនាសម្ព័ន្ធសម្បូរបែបនៅក្នុង popovers ជាមួយនឹង htmlជម្រើស យើងសូមណែនាំយ៉ាងមុតមាំថាអ្នកជៀសវាងការបន្ថែមមាតិកាច្រើនពេក។ របៀបដែល popovers ដំណើរការនាពេលបច្ចុប្បន្នគឺថា នៅពេលដែលបង្ហាញ មាតិការបស់ពួកគេត្រូវបានចងភ្ជាប់ទៅនឹងធាតុ trigger ជាមួយនឹង 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 ទៅ popover ។
boundary ខ្សែអក្សរ, ធាតុ 'clippingParents' ព្រំដែន​កំណត់​លើស​ចំណុះ​នៃ​ការ​លេច​ចេញ (អនុវត្ត​ចំពោះ​តែ​ឧបករណ៍​កែប្រែ​ទប់ស្កាត់​ការ​ហូរ​លើស​របស់ Popper ប៉ុណ្ណោះ)។ តាមលំនាំដើម វាជា 'clippingParents'និងអាចទទួលយកឯកសារយោង HTMLElement (តាមរយៈ JavaScript តែប៉ុណ្ណោះ)។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល ឯកសារ detectOverflow របស់ Popper ។
container ខ្សែអក្សរ, ធាតុ, មិនពិត false បន្ថែម popover ទៅធាតុជាក់លាក់មួយ។ ឧទាហរណ៍៖ container: 'body'. ជម្រើសនេះមានប្រយោជន៍ជាពិសេសក្នុងការដែលវាអនុញ្ញាតឱ្យអ្នកកំណត់ទីតាំង popover នៅក្នុងលំហូរនៃឯកសារនៅជិតធាតុកេះ - ដែលនឹងការពារ popover ពីការអណ្តែតចេញពីធាតុកេះកំឡុងពេលផ្លាស់ប្តូរទំហំបង្អួច។
content ខ្សែអក្សរ, ធាតុ, មុខងារ '' តម្លៃមាតិកាលំនាំដើម ប្រសិនបើ data-bs-contentគុណលក្ខណៈមិនមានវត្តមាន។ ប្រសិនបើមុខងារត្រូវបានផ្តល់ឱ្យ វានឹងត្រូវបានគេហៅជាមួយនឹង thisការកំណត់របស់វាទៅកាន់ធាតុដែល popover ត្រូវបានភ្ជាប់។
customClass ខ្សែអក្សរ, មុខងារ '' បន្ថែមថ្នាក់ទៅ popover នៅពេលដែលវាត្រូវបានបង្ហាញ។ ចំណាំថាថ្នាក់ទាំងនេះនឹងត្រូវបានបន្ថែមបន្ថែមលើថ្នាក់ណាមួយដែលបានបញ្ជាក់នៅក្នុងគំរូ។ ដើម្បីបន្ថែមថ្នាក់ច្រើន សូមបំបែកវាដោយដកឃ្លា៖ 'class-1 class-2'. អ្នកក៏អាចឆ្លងកាត់មុខងារដែលគួរត្រឡប់ខ្សែតែមួយដែលមានឈ្មោះថ្នាក់បន្ថែម។
delay លេខ, វត្ថុ 0 ការពន្យាពេលបង្ហាញ និងលាក់ popover (ms) - មិនអនុវត្តចំពោះប្រភេទកេះដោយដៃទេ។ ប្រសិនបើលេខត្រូវបានផ្គត់ផ្គង់ ការពន្យារពេលត្រូវបានអនុវត្តចំពោះទាំងលាក់/បង្ហាញ។ រចនាសម្ព័ន្ធវត្ថុគឺ៖ delay: { "show": 500, "hide": 100 }
fallbackPlacements ខ្សែអក្សរ, អារេ ['top', 'right', 'bottom', 'left'] កំណត់​ការ​ដាក់​ជំនួស​ដោយ​ផ្ដល់​បញ្ជី​នៃ​ការ​ដាក់​ក្នុង​អារេ (តាម​លំដាប់​តាម​ចំណូល​ចិត្ត)។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល ឯកសារអាកប្បកិរិយា របស់ Popper ។
html ប៊ូលីន false អនុញ្ញាត HTML នៅក្នុង popover ។ ប្រសិនបើជាការពិត ស្លាក HTML នៅក្នុង popover titleនឹងត្រូវបានបង្ហាញនៅក្នុង popover ។ ប្រសិនបើមិនពិត innerTextទ្រព្យសម្បត្តិនឹងត្រូវបានប្រើដើម្បីបញ្ចូលខ្លឹមសារទៅក្នុង DOM ។ ប្រើអត្ថបទប្រសិនបើអ្នកព្រួយបារម្ភអំពីការវាយប្រហារ XSS ។
offset លេខ, ខ្សែអក្សរ, មុខងារ [0, 0] អុហ្វសិតនៃ popover ទាក់ទងទៅនឹងគោលដៅរបស់វា។ អ្នក​អាច​បញ្ជូន​ខ្សែ​អក្សរ​ក្នុង​គុណលក្ខណៈ​ទិន្នន័យ​ដែល​មាន​តម្លៃ​បំបែក​ដោយ​សញ្ញាក្បៀស​ដូចជា៖ data-bs-offset="10,20". នៅពេលដែលអនុគមន៍មួយត្រូវបានប្រើដើម្បីកំណត់អុហ្វសិត វាត្រូវបានហៅជាមួយវត្ថុដែលមានការដាក់ popper ឯកសារយោង និង popper rects ជាអាគុយម៉ង់ដំបូងរបស់វា។ ថ្នាំង DOM ធាតុកេះត្រូវបានឆ្លងកាត់ជាអាគុយម៉ង់ទីពីរ។ អនុគមន៍​ត្រូវ​តែ​ត្រឡប់​អារេ​ដែល​មាន​លេខ​ពីរ រំលង ចម្ងាយ ។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល ឯកសារអុហ្វសិត របស់ Popper ។
placement ខ្សែអក្សរ, មុខងារ 'top' របៀបកំណត់ទីតាំង popover: ដោយស្វ័យប្រវត្តិ, កំពូល, ខាងក្រោម, ឆ្វេង, ស្តាំ។ នៅពេលដែល autoត្រូវបានបញ្ជាក់ វានឹងតម្រង់ទិស popover ឡើងវិញដោយថាមវន្ត។ នៅពេលដែលអនុគមន៍មួយត្រូវបានប្រើដើម្បីកំណត់ការដាក់ វាត្រូវបានហៅជាមួយថ្នាំង DOM popover ជាអាគុយម៉ង់ដំបូងរបស់វា និងធាតុបង្កកថ្នាំង DOM ជាលើកទីពីររបស់វា។ បរិបទ thisត្រូវបានកំណត់ទៅឧទាហរណ៍ popover ។
popperConfig null, object, function null ដើម្បីផ្លាស់ប្តូរការកំណត់ Popper លំនាំដើមរបស់ Bootstrap សូមមើល ការកំណត់រចនាសម្ព័ន្ធរបស់ Popper ។ នៅពេលដែលមុខងារមួយត្រូវបានប្រើដើម្បីបង្កើតការកំណត់រចនាសម្ព័ន្ធ Popper វាត្រូវបានហៅជាមួយវត្ថុដែលមានការកំណត់រចនាសម្ព័ន្ធ Popper លំនាំដើមរបស់ Bootstrap ។ វាជួយអ្នកប្រើ និងបញ្ចូលលំនាំដើមជាមួយការកំណត់ផ្ទាល់ខ្លួនរបស់អ្នក។ មុខងារត្រូវតែត្រឡប់វត្ថុកំណត់រចនាសម្ព័ន្ធសម្រាប់ Popper ។
sanitize ប៊ូលីន true បើក ឬបិទការធ្វើអនាម័យ។ ប្រសិនបើបានធ្វើឱ្យសកម្ម 'template'ហើយ ជម្រើស 'content'នឹង 'title'ត្រូវបានសម្អាត។
sanitizeFn null, មុខងារ null នៅទីនេះអ្នកអាចផ្គត់ផ្គង់មុខងារអនាម័យផ្ទាល់ខ្លួនរបស់អ្នក។ វាអាចមានប្រយោជន៍ ប្រសិនបើអ្នកចូលចិត្តប្រើបណ្ណាល័យដែលខិតខំប្រឹងប្រែងដើម្បីអនុវត្តអនាម័យ។
selector ខ្សែអក្សរ, មិនពិត false ប្រសិនបើឧបករណ៍ជ្រើសរើសត្រូវបានផ្តល់ឱ្យ វត្ថុ popover នឹងត្រូវបានផ្ទេរទៅគោលដៅដែលបានបញ្ជាក់។ នៅក្នុងការអនុវត្ត វាត្រូវបានគេប្រើដើម្បីអនុវត្តផងដែរនូវ popovers ទៅនឹងធាតុ DOM ដែលបានបន្ថែមថាមវន្ត ( jQuery.onការគាំទ្រ) ។ សូមមើល បញ្ហានេះ និង ឧទាហរណ៍ព័ត៌មាន
template ខ្សែអក្សរ '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' មូលដ្ឋាន HTML ដើម្បីប្រើនៅពេលបង្កើត popover ។ Popover's titleនឹងត្រូវបានចាក់ចូលទៅក្នុង .popover-inner. .popover-arrowនឹងក្លាយជាព្រួញរបស់ popover ។ ធាតុរុំខាងក្រៅបំផុតគួរតែមាន .popoverថ្នាក់ និង role="popover".
title ខ្សែអក្សរ, ធាតុ, មុខងារ '' តម្លៃចំណងជើងលំនាំដើម ប្រសិនបើ titleគុណលក្ខណៈមិនមានវត្តមាន។ ប្រសិនបើមុខងារត្រូវបានផ្តល់ឱ្យ វានឹងត្រូវបានគេហៅជាមួយនឹង thisការកំណត់របស់វាទៅកាន់ធាតុដែល popover ត្រូវបានភ្ជាប់។
trigger ខ្សែអក្សរ 'hover focus' របៀបដែល popover ត្រូវបានកេះ៖ ចុច សង្កត់ ផ្ដោត សៀវភៅដៃ។ អ្នកអាចឆ្លងកាត់គន្លឹះជាច្រើន; បំបែកពួកវាដោយចន្លោះមួយ។ 'manual'បង្ហាញថា popover នឹងត្រូវបានកេះតាមកម្មវិធីតាមរយៈ .popover('show'), .popover('hide')និង .popover('toggle')method; តម្លៃ​នេះ​មិន​អាច​ត្រូវ​បាន​រួម​បញ្ចូល​ជាមួយ​នឹង​កេះ​ផ្សេង​ទៀត​ទេ។ 'hover'ដោយខ្លួនវាផ្ទាល់នឹងបណ្តាលឱ្យមានការលេចឡើងដែលមិនអាចត្រូវបានកេះតាមរយៈក្តារចុចហើយគួរតែត្រូវបានប្រើលុះត្រាតែមានវិធីសាស្ត្រជំនួសសម្រាប់ការបញ្ជូនព័ត៌មានដូចគ្នាសម្រាប់អ្នកប្រើប្រាស់ក្តារចុច។

គុណលក្ខណៈទិន្នន័យសម្រាប់ popovers បុគ្គល

ជម្រើសសម្រាប់ popovers បុគ្គលអាចត្រូវបានបញ្ជាក់ជាជម្រើសតាមរយៈការប្រើប្រាស់គុណលក្ខណៈទិន្នន័យ ដូចដែលបានពន្យល់ខាងលើ។

ការប្រើប្រាស់មុខងារជាមួយpopperConfig

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

វិធីសាស្រ្ត

វិធីសាស្រ្ត និងការផ្លាស់ប្តូរអសមកាល

វិធីសាស្រ្ត API ទាំងអស់គឺ អសមកាល ហើយចាប់ផ្តើមការ ផ្លាស់ប្តូរ ។ ពួកគេត្រឡប់ទៅអ្នកហៅចូលវិញភ្លាមៗ នៅពេលដែលការផ្លាស់ប្តូរត្រូវបានចាប់ផ្តើម ប៉ុន្តែ មុនពេលវាបញ្ចប់ ។ លើស​ពី​នេះ​ទៀត ការ​ហៅ​តាម​វិធី​សាស្ត្រ​លើ ​សមាសភាគ​អន្តរកាល​នឹង​ត្រូវ​បាន​មិន​អើពើ

សូមមើលឯកសារ JavaScript របស់យើងសម្រាប់ព័ត៌មានបន្ថែម

វិធីសាស្រ្ត ការពិពណ៌នា
disable ដកសមត្ថភាពសម្រាប់ការបង្ហាញរបស់ធាតុដែលលេចឡើង។ Popover នឹងអាចបង្ហាញបានលុះត្រាតែវាត្រូវបានបើកឡើងវិញ។
dispose លាក់ និងបំផ្លាញការលេចឡើងនៃធាតុមួយ (លុបទិន្នន័យដែលបានរក្សាទុកនៅលើធាតុ DOM) ។ Popovers ដែលប្រើការធ្វើប្រតិភូកម្ម (ដែលត្រូវបានបង្កើតដោយប្រើ ជម្រើស )selector មិនអាចត្រូវបំផ្លាញដោយឡែកៗពីគ្នាលើធាតុ descendant trigger ទេ។
enable ផ្តល់លទ្ធភាពបង្ហាញវត្តមានរបស់ធាតុ។ Popovers ត្រូវបានបើកតាមលំនាំដើម។
getInstance វិធីសាស្ត្រ ឋិតិវន្ត ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានឧទាហរណ៍ popover ដែលភ្ជាប់ជាមួយធាតុ DOM ។
getOrCreateInstance វិធីសាស្រ្ត ឋិតិវន្ត ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានឧទាហរណ៍ popover ដែលភ្ជាប់ជាមួយធាតុ DOM ឬបង្កើតថ្មីមួយក្នុងករណីដែលវាមិនត្រូវបានចាប់ផ្តើម។
hide លាក់ការលេចឡើងនៃធាតុមួយ។ ត្រឡប់​ទៅ​អ្នក​ហៅ​ទូរសព្ទ​វិញ​មុន​ពេល​លេច​ឮ​តាម​ពិត​ត្រូវ​បាន​លាក់ (ឧ. មុន hidden.bs.popover​ព្រឹត្តិការណ៍​កើត​ឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។
setContent ផ្តល់មធ្យោបាយដើម្បីផ្លាស់ប្តូរខ្លឹមសាររបស់ popover បន្ទាប់ពីការចាប់ផ្តើមរបស់វា។
show បង្ហាញការលេចឡើងនៃធាតុមួយ។ ត្រឡប់​ទៅ​អ្នក​ហៅ​ទូរសព្ទ​វិញ​មុន​ពេល​លេច​ចេញ​ត្រូវ​បាន​បង្ហាញ​យ៉ាង​ពិត​ប្រាកដ (ឧ. មុន shown.bs.popover​ព្រឹត្តិការណ៍​កើត​ឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។ Popovers ដែលចំណងជើង និងខ្លឹមសារមានប្រវែងសូន្យមិនត្រូវបានបង្ហាញទេ។
toggle បិទ/បើកការលេចឡើងនៃធាតុមួយ។ ត្រឡប់ទៅកាន់អ្នកហៅទូរសព្ទវិញ មុនពេលការលេចចេញត្រូវបានបង្ហាញ ឬ លាក់ (ឧទាហរណ៍ មុនពេល ព្រឹត្តិការណ៍កើតឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។shown.bs.popoverhidden.bs.popover
toggleEnabled បិទ/បើក​លទ្ធភាព​សម្រាប់​ការ​លេច​ចេញ​របស់​ធាតុ​មួយ​ដើម្បី​បង្ហាញ​ឬ​លាក់។
update ធ្វើបច្ចុប្បន្នភាពទីតាំងនៃការលេចឡើងនៃធាតុមួយ។
// 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វិធីសាស្ត្រ instance ត្រូវបានហៅ។
shown.bs.popover ព្រឹត្តិការណ៍​នេះ​ត្រូវ​បាន​បញ្ឈប់​នៅ​ពេល​ដែល​ផ្ទាំង​ព័ត៌មាន​ត្រូវ​បាន​ធ្វើ​ឱ្យ​អ្នក​ប្រើ​មើល​ឃើញ (នឹង​រង់ចាំ​ការ​ផ្លាស់​ប្តូរ CSS ដើម្បី​បញ្ចប់)។
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})