پۆپۆڤەرز
بەڵگەنامە و نموونە بۆ زیادکردنی Bootstrap popovers، وەک ئەوانەی لە iOS دەبینرێن، بۆ هەر توخمێک لە ماڵپەڕەکەتدا.
تێڕوانینێکی گشتی
ئەو شتانەی کە پێویستە بزانیت لە کاتی بەکارهێنانی پێوەکراوەکەی popover:
- پۆپۆڤەرز پشت بە کتێبخانەی لایەنی سێیەم پۆپەر دەبەستێت بۆ جێگیرکردن. پێویستە پێش , popper.min.js دابنێیت
bootstrap.js
، یان یەکێک بەکاربهێنیتbootstrap.bundle.min.js
کە Popper لەخۆدەگرێت. - Popovers پێویستیان بە پێوەکراوەکەی popover وەک وابەستەیەک هەیە.
- Popovers بە هۆکاری کاراییەوە بەشداریکردنە، بۆیە دەبێت خۆت سەرەتایییان بکەیت .
- سفر-درێژی
title
وcontent
بەهاکان هەرگیز پۆپۆڤەرێک نیشان نادەن. - دیاری بکە
container: 'body'
بۆ ئەوەی کێشەی ڕەندەرکردن لە پێکهاتە ئاڵۆزترەکاندا ڕوونەدات (وەک گروپەکانی چوونەژوورەوەمان، گروپەکانی دوگمەکان و هتد). - دەستپێکردنی پۆپۆڤەرەکان لەسەر توخمە شاراوەکان کار ناکات.
- پۆپۆڤەرەکان بۆ
.disabled
یانdisabled
توخمەکان دەبێت لەسەر توخمێکی پێچراو دەستپێبکرێن. - کاتێک لە لەنگەرەکانەوە دەستپێدەکرێت کە بەسەر چەندین هێڵدا دەپێچنەوە، پۆپۆڤەرەکان لە نێوان پانایی گشتی لەنگەرەکاندا لە ناوەڕاستدا دەبن.
.text-nowrap
لەسەر s ـەکەت بەکاربهێنە<a>
بۆ ئەوەی لەم ڕەفتارە دوور بکەویتەوە. - دەبێت پۆپۆڤەرەکان بشاردرێنەوە پێش ئەوەی توخمە هاوبەشەکانیان لە DOM لاببرێن.
- دەتوانرێت Popovers بەهۆی توخمێک لە ناو DOM ی سێبەردا دەستپێبکرێت.
prefers-reduced-motion
پرسیاری میدیایە. سەیری
بەشی جووڵەی کەمکراوە بکە لە بەڵگەنامەکانی دەستڕاگەیشتنمان .
بەردەوام بە لە خوێندنەوە بۆ ئەوەی بزانیت چۆن پۆپۆڤەرەکان کاردەکەن بە هەندێک نموونە.
نموونە
popovers چالاک بکە
وەک لە سەرەوە باسمان کرد، دەبێت پۆپۆڤەرەکان دەستپێبکەیت پێش ئەوەی بتوانرێت بەکاربهێنرێت. یەکێک لە ڕێگاکان بۆ دەستپێکردنی هەموو پۆپۆڤەرەکان لە لاپەڕەیەکدا ئەوەیە کە بەپێی تایبەتمەندییەکانیان هەڵیانبژێریت data-bs-toggle
، وەک:
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
دیمۆی ڕاستەوخۆ
ئێمە جاڤاسکڕێپت هاوشێوەی پارچەی سەرەوە بەکاردەهێنین بۆ ڕەندەری ئەم پۆپۆڤەرە ڕاستەوخۆیەی خوارەوە. ناونیشانەکان لە ڕێگەی دادەنرێت data-bs-title
و ناوەڕۆکی جەستە لە ڕێگەی data-bs-content
.
title
یان
data-bs-title
لە HTML ـەکەتدا بەکاربهێنە. کاتێک
title
بەکاردەهێنرێت، پۆپەر بە شێوەیەکی ئۆتۆماتیکی جێگەی دەگرێتەوە بە
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
کاتێک هەندێک ستایلت لەسەر توخمێکی باوک هەیە کە دەستوەردان لە پۆپۆڤەرێک دەکەن، دەتەوێت تایبەتمەندییەک دیاری بکەیت بۆ container
ئەوەی لەبری ئەوە HTML ی پۆپۆڤەرەکە لەناو ئەو توخمەدا دەربکەوێت. ئەمە لە خشتەکانی وەڵامدەرەوە، گروپەکانی هاتنەژوورەوە و هاوشێوەکانیدا باو و ئاساییە.
const popover = new bootstrap.Popover('.example-popover', {
container: 'body'
})
دۆخێکی تر کە دەتەوێت تایبەتمەندییەکی ڕوون دابنێیت container
بریتین لە popovers لەناو دیالۆگێکی مۆداڵیدا , بۆ ئەوەی دڵنیا بیت لەوەی کە خودی popoverەکە بە مۆداڵەکەوە لکێنراوە. ئەمە بە تایبەتی گرنگە بۆ ئەو پۆپۆڤەرانەی کە توخمە کارلێککەرەکانیان تێدایە – دیالۆگەکانی مۆداڵی فۆکەس دەخاتە تەڵەوە، بۆیە مەگەر پۆپۆڤەر توخمێکی منداڵی مۆداڵی نەبێت، بەکارهێنەران ناتوانن فۆکەس بکەن یان ئەم توخمە کارلێککارانە چالاک بکەن.
const popover = new bootstrap.Popover('.example-popover', {
container: '.modal-body'
})
پۆپۆڤەری تایبەت بەخۆت
لە v5.2.0 زیاد کراوەدەتوانیت بە بەکارهێنانی گۆڕاوەکانی 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
بۆ ڕەتکردنەوەی پۆپۆڤەرەکان لەسەر کلیکی داهاتووی بەکارهێنەر لەسەر توخمێکی جیاواز لە توخمەکەی toggle.
پێویستە نیشانەیەکی تایبەت بۆ ڕەتکردنەوە لەسەر کلیککردنی داهاتوو
بۆ هەڵسوکەوتی دروستی cross-browser و cross-platform، پێویستە تاگەکە بەکاربهێنیت <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
تایبەتمەندیەکەیان هەیە کارلێککار نین، واتە بەکارهێنەران ناتوانن پەنجەیان لەسەر دابنێن یان کلیکیان لەسەر بکەن بۆ دەستپێکردنی پۆپۆڤەر (یان ئامۆژگاری ئامراز). وەک چارەسەرێک، تۆ دەتەوێت پۆپۆڤەرەکە لە پێچەرێکەوە <div>
یان <span>
, بە شێوەیەکی ئایدیاڵ دروستکراوە بە بەکارهێنانی تەرکیزکردنی کیبۆرد tabindex="0"
.
بۆ دەستپێکەرەکانی پۆپۆڤەری لەکارکەوتوو، ڕەنگە پێت باشە data-bs-trigger="hover focus"
کە پۆپۆڤەرەکە وەک فیدباکێکی بینراوی دەستبەجێ بۆ بەکارهێنەرانت دەربکەوێت چونکە لەوانەیە چاوەڕێی ئەوە نەکەن کلیک لەسەر توخمێکی لەکارخراو بکەن.
<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);
گۆڕاوەکانی ساس
$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 لە ڕێگەی جاڤاسکڕێپتەوە:
const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)
کردنی پۆپۆڤەرەکان بۆ بەکارهێنەرانی کیبۆرد و تەکنەلۆژیای یارمەتیدەر کاربکەن
بۆ ئەوەی ڕێگە بە بەکارهێنەرانی کیبۆرد بدەیت کە پۆپۆڤەرەکانت چالاک بکەن، تەنها پێویستە زیادیان بکەیت بۆ ئەو توخمانەی HTML کە بە شێوەیەکی نەریتی فۆکەس لەسەر کیبۆرد و کارلێککەرن (وەک بەستەر یان کۆنتڕۆڵی فۆڕم). هەرچەندە دەتوانرێت توخمە HTML ی ئارەزوومەندانە (وەک <span>
s) بە زیادکردنی تایبەتمەندییەکە بکرێتە فۆکەس tabindex="0"
، بەڵام ئەمە وەستانی تابەکانی ئەگەری بێزارکەر و سەرلێشێواو لەسەر توخمە ناکارلێککەرەکان بۆ بەکارهێنەرانی کیبۆرد زیاد دەکات، و زۆربەی تەکنەلۆژیا یارمەتیدەرەکان لە ئێستادا ناوەڕۆکی popover لەم دۆخەدا ڕاناگەیەنن . سەرەڕای ئەوەش، تەنها پشت بەو شتانە مەبەستە hover
وەک دەستپێکەر بۆ پۆپۆڤەرەکانت، چونکە ئەمە وا دەکات کە مەحاڵ بێت دەستپێکردنیان بۆ بەکارهێنەرانی کیبۆرد.
لە کاتێکدا دەتوانیت HTML دەوڵەمەند و پێکهاتەدار لە popovers بە html
بژاردەکە دابنێیت، ئێمە بە توندی پێشنیار دەکەین کە خۆت بەدوور بگرێت لە زیادکردنی بڕێکی زۆر لە ناوەڕۆک. شێوازی کارکردنی پۆپۆڤەرەکان لە ئێستادا ئەوەیە کە، کاتێک پیشان دەدرێن، ناوەڕۆکەکەیان بەستراوەتەوە بە توخمە دەستپێکەرەکە بە aria-describedby
تایبەتمەندییەکە. لە ئەنجامدا، تەواوی ناوەڕۆکی popover وەک یەک ڕژێمی درێژ و بێ پچڕان بە بەکارهێنەرانی تەکنەلۆژیای یارمەتیدەر ڕادەگەیەنرێت.
سەرەڕای ئەوە، لە کاتێکدا دەتوانرێت کۆنتڕۆڵە کارلێککارەکان (وەک توخمەکانی فۆرم یان بەستەرەکان) لە پۆپۆڤەرەکەتدا جێگیر بکرێت (بە زیادکردنی ئەم توخمانە بۆ allowList
تایبەتمەندی و تاگە ڕێگەپێدراوەکان)، ئاگاداربە کە لە ئێستادا پۆپۆڤەر ڕێکخستنی فۆکۆسی کیبۆرد بەڕێوە نابات. کاتێک بەکارهێنەرێکی کیبۆرد پۆپۆڤەرێک دەکاتەوە، فۆکەس لەسەر توخمە دەستپێکەرەکە دەمێنێتەوە، و بەو پێیەی پۆپۆڤەرەکە بەزۆری دەستبەجێ بەدوای تریگەرەکەدا ناچێت لە پێکهاتەی بەڵگەنامەکەدا، هیچ گەرەنتییەک نییە کە بەرەو پێشەوە/پەستان بچێتTABبەکارهێنەرێکی کیبۆرد دەگوازێتەوە بۆ ناو خودی پۆپۆڤەرەکە. بە کورتی، بە سادەیی زیادکردنی کۆنتڕۆڵە کارلێکەکان بۆ پۆپۆڤەرێک ئەگەری زۆرە ئەم کۆنتڕۆڵانە بۆ بەکارهێنەرانی کیبۆرد و بەکارهێنەرانی تەکنەلۆژیا یارمەتیدەرەکان نەگات/بەکارنەهێنرێت، یان لانیکەم ببێتە هۆی ئەوەی کە فەرمانێکی فۆکۆسی گشتی نالۆژیکی بێت. لەم حاڵەتانەدا، بیر لە بەکارهێنانی دیالۆگێکی مۆداڵی بکەرەوە لەبری ئەوە.
بژاردەکان
بەو پێیەی دەتوانرێت هەڵبژاردنەکان لە ڕێگەی تایبەتمەندییەکانی داتا یان جاڤاسکڕێپتەوە تێپەڕێنرێت، دەتوانیت ناوی هەڵبژاردنێک زیاد بکەیت بۆ 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 |
boolean | true |
گواستنەوەی کاڵبوونەوەی CSS بۆ popover بەکاربهێنە. |
boundary |
ڕستە، توخم | 'clippingParents' |
سنووری سنووردارکردنی Overflow ی popover (تەنها بۆ دەستکاریکەری preventOverflow ی Popper دەگونجێت). بە شێوەیەكی بنەڕەتی، 'clippingParents' ئاماژەی HTMLElement یە و دەتوانێت قبوڵ بكات (تەنها لە ڕێگەی جاڤا سكریپتەوە). بۆ زانیاری زیاتر سەردانی دۆکیومێنتەکانی detectOverflow ی Popper بکە . |
container |
ڕستە، توخم، درۆ | false |
پۆپۆڤەرەکە بە توخمێکی دیاریکراوەوە دەبەستێتەوە. نموونە: container: 'body' . ئەم هەڵبژاردنە بە تایبەتی بەسوودە لەبەر ئەوەی ڕێگەت پێدەدات پۆپۆڤەرەکە لە ڕەوتی بەڵگەنامەکەدا لە نزیک توخمە دەستپێکەرەکە دابنێیت - کە ڕێگری دەکات لە هەڵفڕینی پۆپۆڤەرەکە لە توخمە دەستپێکەرەکە دوور لە کاتی گۆڕینی قەبارەی پەنجەرە. |
content |
ڕیز، توخم، فەنکشن | '' |
بەهای ناوەڕۆکی پێشوەختە ئەگەر data-bs-content تایبەتمەندییەکە ئامادە نەبێت. ئەگەر فەنکشنێک بدرێت، ئەوا بانگ دەکرێت بە this ڕێکخستنی ئاماژەکەی بۆ ئەو توخمە کە پۆپۆڤەرەکە پێیەوە لکێنراوە. |
customClass |
ڕستە، فەنکشن | '' |
کاتێک پیشان دەدرێت پۆلەکان زیاد بکە بۆ پۆپۆڤەر. تێبینی بکە کە ئەم پۆلانە زیاد دەکرێن جگە لە هەر پۆلێک کە لە قاڵبەکەدا دیاری کراوە. بۆ زیادکردنی چەندین پۆل، بە بۆشایی جیایان بکەرەوە: 'class-1 class-2' . هەروەها دەتوانیت فەنکشنێک تێپەڕێنیت کە دەبێت یەک ڕیز بگەڕێنێتەوە کە ناوی پۆلی زیادەی تێدابێت. |
delay |
ژمارە، شت | 0 |
دواخستنی پیشاندانی و شاردنەوەی پۆپۆڤەر (ms)-بۆ جۆری دەستپێکەری دەستی ناگرێتەوە. ئەگەر ژمارەیەک دابین کرا، دواکەوتن بۆ هەردوو شاردنەوە/نیشاندان جێبەجێ دەکرێت. پێکهاتەی شت بریتییە لە: delay: { "show": 500, "hide": 100 } . |
fallbackPlacements |
ڕستە، ڕیزبەندی | ['top', 'right', 'bottom', 'left'] |
پێناسەی شوێنەکانی fallback بکە بە دابینکردنی لیستی شوێنەکان لە ڕیزبەندی (بە رێکوپێکی پەسەندکردن). بۆ زانیاری زیاتر سەردانی دۆکیومێنتەکانی هەڵسوکەوتی پۆپەر بکە . |
html |
boolean | false |
ڕێگە بە HTML بدە لە پۆپۆڤەرەکەدا. ئەگەر ڕاست بێت، تاگەکانی HTML لە popover's لە popover's title دا ڕەندەر دەکرێن. ئەگەر هەڵە innerText بێت، تایبەتمەندی بەکاردەهێنرێت بۆ دانانی ناوەڕۆک لە DOM. ئەگەر نیگەرانیت لە هێرشەکانی XSS دەق بەکاربهێنە. |
offset |
ژمارە، ڕیز، فەنکشن | [0, 0] |
ئۆفسێتی پۆپۆڤەر بە بەراورد بە ئامانجەکەی. دەتوانیت ڕستەیەک لە تایبەتمەندییەکانی داتادا بە بەها جیاکراوەکانی کۆما وەک: data-bs-offset="10,20" . کاتێک فەنکشنێک بەکاردەهێنرێت بۆ دیاریکردنی ئۆفسێتەکە، بە ئۆبجێکتیک بانگ دەکرێت کە شوێنی پۆپەر و ئاماژە و پۆپەر rects وەک یەکەم ئارگومێنتی تێدایە. گرێی DOM ی توخمە دەستپێکەر وەک ئارگومێنتی دووەم دەگوازرێتەوە. فەنکشنەکە دەبێت ڕیزبەندییەک بگەڕێنێتەوە بە دوو ژمارەی: skidding , distance . بۆ زانیاری زیاتر سەردانی دۆکیومێنتەکانی ئۆفسێتی پۆپەر بکە . |
placement |
ڕستە، فەنکشن | 'top' |
چۆنێتی جێگیرکردنی پۆپۆڤەر: ئۆتۆ، سەرەوە، خوارەوە، چەپ، ڕاست. کاتێک auto دیاری دەکرێت، بە شێوەیەکی داینامیکی پەپۆڤەرەکە ئاڕاستە دەکاتەوە. کاتێک فەنکشنێک بەکاردەهێنرێت بۆ دیاریکردنی شوێنەکە، بانگ دەکرێت بە گرێی popover DOM وەک یەکەم ئارگومێنت و توخمە دەستپێکەرەکە گرێی DOM وەک دووەم. کۆنتێکستەکە this بۆ نموونەی popover دانراوە. |
popperConfig |
null، ئۆبجێکتی، فەنکشن | null |
بۆ گۆڕینی ڕێکخستنی پێشوەختەی Popper ی Bootstrap، سەیری ڕێکخستنی Popper بکە . کاتێک فەنکشنێک بەکاردەهێنرێت بۆ دروستکردنی ڕێکخستنی Popper، بە شتێک بانگ دەکرێت کە ڕێکخستنی پێشوەختەی Popper ی Bootstrap لەخۆدەگرێت. یارمەتیت دەدات کە پێشوەختە لەگەڵ ڕێکخستنی خۆت بەکاربهێنیت و تێکەڵیان بکەیت. فەنکشنەکە دەبێت شتێکی ڕێکخستن بۆ Popper بگەڕێنێتەوە. |
sanitize |
boolean | true |
پاککردنەوەکە چالاک یان ناچالاک بکە. ئەگەر چالاک کرا 'template' , 'content' و 'title' بژاردەکان پاک دەکرێنەوە. |
sanitizeFn |
null، فەنکشن | null |
لێرەدا دەتوانیت کارایی پاککردنەوەی خۆت دابین بکەیت. ئەمە دەتوانێت بەسوود بێت ئەگەر پێت باشە کتێبخانەی تایبەت بەکاربهێنیت بۆ ئەنجامدانی پاکوخاوێنی. |
selector |
ڕستە، درۆ | false |
ئەگەر هەڵبژێرەرێک دابین بکرێت، شتەکانی پۆپۆڤەر دەدرێنە ئامانجە دیاریکراوەکان. لە پراکتیکدا، ئەمە بەکاردێت بۆ هەروەها بەکارهێنانی popovers بۆ توخمەکانی DOM زیادکراوی داینامیکی ( jQuery.on پشتگیری). سەیری ئەم بابەتە بکە و نموونەیەکی زانیاری . |
template |
ڕستە | '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' |
بنەمای HTML بۆ بەکارهێنان لە کاتی دروستکردنی popover. پۆپۆڤەرەکان title دەدرێنە ناو .popover-inner . .popover-arrow دەبێتە تیری پۆپۆڤەر. دەرەوەترین توخمە پێچراوەکە دەبێت .popover پۆل و role="popover" . |
title |
ڕیز، توخم، فەنکشن | '' |
بەهای ناونیشانی پێشوەختە ئەگەر title تایبەتمەندی ئامادە نەبێت. ئەگەر فەنکشنێک بدرێت، ئەوا بانگ دەکرێت بە this ڕێکخستنی ئاماژەکەی بۆ ئەو توخمە کە پۆپۆڤەرەکە پێیەوە لکێنراوە. |
trigger |
ڕستە | 'hover focus' |
چۆنێتی دەستپێکردنی پۆپۆڤەر: کلیک، هۆڤەر، فۆکەس، دەستی. لەوانەیە چەندین تریگەر تێپەڕێنیت؛ بە بۆشایییەک جیایان بکەرەوە. 'manual' ئاماژە بەوە دەکات کە پۆپۆڤەر بە شێوەیەکی بەرنامەیی لە ڕێگەی .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 ناهاوسەنگن و دەست بە گواستنەوە دەکەن . هەر کە گواستنەوەکە دەستی پێکرد بەڵام پێش ئەوەی کۆتایی بێت دەگەڕێنەوە لای پەیوەندیکەرەکە . سەرەڕای ئەوە، بانگەوازێکی شێواز لەسەر پێکهاتەیەکی گواستنەوە پشتگوێ دەخرێت .
ڕێگا | وەسف |
---|---|
disable |
توانای پیشاندانی پۆپۆڤەری توخمێک لا دەبات. popover تەنها لە حاڵەتێکدا دەتوانرێت پیشان بدرێت کە دووبارە چالاک بکرێتەوە. |
dispose |
پاپۆڤەری توخمێک دەشارێتەوە و لەناویان دەبات (زانیاری هەڵگیراو لەسەر توخمەکەی DOM لا دەبات). ئەو پۆپۆڤەرانەی کە نوێنەرایەتی بەکاردەهێنن (کە بە بەکارهێنانی بژاردەی دروست دەکرێن ) selector ناتوانرێت بە تاک لەسەر توخمەکانی دەستپێکەری نەوە لەناوببرێن. |
enable |
توانای پیشاندانی بە پۆپۆڤەری توخمێک دەدات. Popovers بە شێوازی پێشوەختە چالاک کراوە. |
getInstance |
شێوازی ئیستاتیک کە ڕێگەت پێدەدات نموونەی popover بەدەست بهێنیت کە پەیوەندی بە توخمێکی DOMەوە هەیە. |
getOrCreateInstance |
شێوازی ئیستاتیک کە ڕێگەت پێدەدات نموونەی popover بەدەست بهێنیت کە پەیوەندی بە توخمێکی DOMەوە هەیە، یان یەکێکی نوێ دروست بکەیت لە ئەگەری دەستپێنەکردندا. |
hide |
پۆپۆڤەری توخمێک دەشارێتەوە. پێش ئەوەی لە ڕاستیدا پۆپۆڤەرەکە بشاردرێتەوە (واتە پێش ئەوەی hidden.bs.popover ڕووداوەکە ڕووبدات) دەگەڕێتەوە بۆ پەیوەندیکەر. ئەمەش بە دەستپێکردنی "دەستی" پۆپۆڤەر دادەنرێت. |
setContent |
ڕێگەیەک دەدات بۆ گۆڕینی ناوەڕۆکی popover دوای دەستپێکردنی. |
show |
پۆپۆڤەری توخمێک ئاشکرا دەکات. پێش ئەوەی لە ڕاستیدا پۆپۆڤەرەکە پیشان بدرێت (واتە پێش ئەوەی shown.bs.popover ڕووداوەکە ڕووبدات) دەگەڕێتەوە بۆ پەیوەندیکەر. ئەمەش بە دەستپێکردنی "دەستی" پۆپۆڤەر دادەنرێت. ئەو پۆپۆڤەرانەی کە ناونیشان و ناوەڕۆکیان هەردووکیان درێژی سفرە هەرگیز پیشان نادرێن. |
toggle |
پۆپۆڤەری توخمێک دەگۆڕێت. دەگەڕێتەوە بۆ پەیوەندیکەر پێش ئەوەی لە ڕاستیدا popover پیشان بدرێت یان بشاردرێتەوە (واتە پێش ئەوەی ڕووداوی 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 شێوازی نموونە بانگ دەکرێت. |
shown.bs.popover |
ئەم ڕووداوە کاتێک ئاگر دەکرێتەوە کە پۆپۆڤەرەکە بۆ بەکارهێنەر دیار بێت (چاوەڕێی تەواوبوونی گواستنەوەکانی CSS دەکات). |
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
// do something...
})