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
.disabled
ឬdisabled
ធាតុត្រូវតែត្រូវបានកេះនៅលើធាតុរុំ។ - នៅពេលដែលត្រូវបានកេះចេញពីយុថ្កាដែលរុំឆ្លងកាត់បន្ទាត់ជាច្រើន ផ្ទាំងប៉ុបនឹងស្ថិតនៅចំកណ្តាលរវាងទទឹងទាំងមូលរបស់យុថ្កា។ ប្រើ
.text-nowrap
នៅលើរបស់អ្នក<a>
ដើម្បីជៀសវាងអាកប្បកិរិយានេះ។ - Popovers ត្រូវតែលាក់ មុនពេលធាតុដែលត្រូវគ្នារបស់ពួកគេត្រូវបានយកចេញពី DOM ។
- Popovers អាចត្រូវបានកេះដោយសារធាតុមួយនៅក្នុង DOM ស្រមោល។
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
.
title
ឬ
data-bs-title
នៅក្នុង HTML របស់អ្នក។ នៅពេលដែល
title
ត្រូវបានប្រើ Popper នឹងជំនួសវាដោយស្វ័យប្រវត្តិ
data-bs-title
នៅពេលដែលធាតុត្រូវបានបង្ហាញ។
<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
ដើម្បីផ្លាស់ប្តូរទិសដៅ។
<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;
}
<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
គុណលក្ខណៈផងដែរ។
<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 លេចឡើងជាមតិកែលម្អដែលមើលឃើញភ្លាមៗចំពោះអ្នកប្រើរបស់អ្នក ព្រោះពួកគេប្រហែលជាមិនរំពឹងថានឹង ចុច លើធាតុដែលបិទ។
<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 ទាំងអស់គឺ អសមកាល ហើយចាប់ផ្តើមការ ផ្លាស់ប្តូរ ។ ពួកគេត្រឡប់ទៅអ្នកហៅចូលវិញភ្លាមៗ នៅពេលដែលការផ្លាស់ប្តូរត្រូវបានចាប់ផ្តើម ប៉ុន្តែ មុនពេលវាបញ្ចប់ ។ លើសពីនេះទៀត ការហៅតាមវិធីសាស្ត្រលើ សមាសភាគអន្តរកាលនឹងត្រូវបានមិនអើពើ ។
វិធីសាស្រ្ត | ការពិពណ៌នា |
---|---|
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.popover hidden.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...
})