ئاساسلىق مەزمۇنغا ئاتلاڭ Docs يول باشلاش
Check
in English

Popovers

تور بېتىڭىزدىكى ھەر قانداق ئېلېمېنتقا iOS دىكىگە ئوخشاش Bootstrap پوپايكىسىنى قوشۇشنىڭ ھۆججەتلىرى ۋە مىساللىرى.

ئومۇمىي چۈشەنچە

قاڭقىش قىستۇرمىسىنى ئىشلەتكەندە بىلىشكە تېگىشلىك ئىشلار:

  • پوپلار ئورۇن بەلگىلەش ئۈچۈن ئۈچىنچى تەرەپ كۇتۇپخانىسى Popper غا تايىنىدۇ . سىز چوقۇم popper.min.js نى ئۆز ئىچىگە ئېلىشىڭىز ياكىbootstrap.js Popper بار بىرىنى ئىشلىتىشىڭىز bootstrap.bundle.min.jsكېرەك.
  • پوپايكىلار تايىنىشچان قىستۇرما دېتالنى بېقىنىشنى تەلەپ قىلىدۇ .
  • پوپايكىلار ئىقتىدار سەۋەبىدىن تاللىنىدۇ ، شۇڭا چوقۇم ئۇلارنى ئۆزىڭىز باشلىشىڭىز كېرەك .
  • نۆل ئۇزۇنلۇق titleۋە contentقىممەت ھەرگىزمۇ مودا ئېقىمىنى كۆرسەتمەيدۇ.
  • تېخىمۇ مۇرەككەپ زاپچاسلاردا مەسىلە پەيدا قىلىشتىن ساقلىنىشنى بەلگىلەڭ container: 'body'(بىزنىڭ كىرگۈزۈش گۇرۇپپىلىرىمىز ، كۇنۇپكا گۇرۇپپىلىرىمىز دېگەندەك).
  • يوشۇرۇن ئېلېمېنتلارنى قوزغىتىش قوزغاتقۇچ ئىشلىمەيدۇ.
  • ئېلېمېنتلار .disabledياكى disabledئېلېمېنتلار چوقۇم ئورالغان ئېلېمېنتتا قوزغىتىلىشى كېرەك.
  • بىر نەچچە قۇرنى ئوراپ تۇرىدىغان لەڭگەردىن قوزغالغاندا ، لەڭگەرلەر لەڭگەرنىڭ ئومۇمىي كەڭلىكى ئوتتۇرىسىدا مەركەزلىشىدۇ. بۇ ھەرىكەتتىن ساقلىنىش ئۈچۈن s .text-nowrapنى ئىشلىتىڭ .<a>
  • ماس كېلىدىغان ئېلېمېنتلار DOM دىن ئۆچۈرۈلۈشتىن بۇرۇن چوقۇم يوشۇرۇش كېرەك.
  • سايە DOM ئىچىدىكى ئېلېمېنتنىڭ ياردىمىدە پوپايكىلارنى قوزغىتىشقا بولىدۇ.
سۈكۈت بويىچە ، بۇ زاپچاس ئىچىگە قاچىلانغان مەزمۇن تازىلىغۇچ ئىشلىتىدۇ ، ئۇ ئېنىق رۇخسەت قىلىنمىغان HTML ئېلېمېنتلىرىنى چىقىرىپ تاشلايدۇ. تېخىمۇ كۆپ تەپسىلاتلارنى JavaScript ھۆججىتىمىزدىكى تازىلىق بۆلۈمىدىن كۆرۈڭ .
بۇ زاپچاسنىڭ كارتون ئۈنۈمى prefers-reduced-motionمېدىيا سوئالىغا باغلىق. قولايلىق ھۆججەتلىرىمىزنىڭ قىسقارتىلغان ھەرىكەت بۆلىكىنى كۆرۈڭ .

پوپايكىلارنىڭ بەزى مىساللار بىلەن قانداق ئىشلەيدىغانلىقىنى داۋاملىق ئوقۇپ بېقىڭ.

مىساللار

پوپايكىلارنى قوزغىتىڭ

يۇقىرىدا دېيىلگەندەك ، پوپايكىلارنى ئىشلىتىشتىن بۇرۇن چوقۇم باشلىشىڭىز كېرەك. بارلىق بەتكۈچلەرنى بىر بەتتە باشلاشنىڭ بىر ئۇسۇلى ، ئۇلارنىڭ data-bs-toggleخاسلىقى بويىچە تاللاش بولىدۇ ، مەسىلەن:

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

Live demo

تۆۋەندىكى جانلىق كۆرۈنۈشنى كۆرسىتىش ئۈچۈن ئۈستىدىكى پارچىغا ئوخشاش JavaScript ئىشلىتىمىز. ماۋزۇلار ئارقىلىق تەڭشىلىدۇ data-bs-titleۋە بەدەن مەزمۇنى ئارقىلىق تەڭشىلىدۇ data-bs-content.

titleHTML ياكى HTML دا ئىشلىتىڭ 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>

Customcontainer

باش ئېلېمېنتتا مودا ئېقىمىغا دەخلى قىلىدىغان بەزى ئۇسلۇبلار بولغاندا ، ئىختىيارىنى بەلگىلىمەكچى بولىسىز ، containerبۇنداق بولغاندا ئېلېكترونلۇق خەت ساندۇقىنىڭ HTML كۆرۈنۈشى شۇ ئېلېمېنتنىڭ ئىچىدە كۆرۈنىدۇ. بۇ ئىنكاس جەدۋىلى ، كىرگۈزۈش گۇرۇپپىسى ۋە شۇنىڭغا ئوخشاشلاردا كۆپ ئۇچرايدۇ.

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

سىز ئېنىق خاسلاشتۇرماقچى بولغان يەنە بىر ئەھۋال مودېل دىئالوگنىڭcontainer ئىچىدە پوپايكىلار بولۇپ ، مودا ئېقىمىنىڭ ئۆزى مودېلغا قوشۇلغانلىقىغا كاپالەتلىك قىلىڭ. بۇ ئۆز-ئارا تەسىر كۆرسىتىدىغان ئېلېمېنتلارنى ئۆز ئىچىگە ئالغان مودا ئېقىمى ئۈچۈن ئىنتايىن مۇھىم - مودېل دىئالوگ فوكۇسنى تۇزاققا سالىدۇ ، شۇڭا ئەگەر مودا ئېقىمى مودېلنىڭ بالا ئېلېمېنتى بولمىسا ، ئىشلەتكۈچىلەر بۇ ئۆز-ئارا تەسىر كۆرسىتىدىغان ئېلېمېنتلارنى مەركەزلەشتۈرەلمەيدۇ ياكى قوزغىتالمايدۇ.

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;
}
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ئۆز-ئارا تەسىر كۆرسىتەلمەيدۇ ، يەنى ئىشلەتكۈچىلەر يۆتكىلىپ ياكى چېكىپ سەكرەش (ياكى قورال كۆرسەتكۈچى) نى قوزغىتالمايدۇ. بىر ھەل قىلىش چارىسى بولۇش سۈپىتىڭىز بىلەن ، ئورالمىنى <div>ياكى <span>ئەڭ ياخشىسى كۇنۇپكا تاختىسىنى فوكۇس توغرىلاپ ئىشلىتىشكە tabindex="0"بولىدۇ.

چەكلەنگەن ئېلېكترونلۇق قوزغاتقۇچ قوزغاتقۇچلارغا نىسبەتەن ، سىز يەنە ئېلېكترونلۇق خەت ساندۇقىنىڭ چەكلەنگەن ئېلېمېنتنى چېكىشنى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 ئۆزگەرگۈچى مىقدارنىڭ بىر قىسمى بولۇش سۈپىتى بىلەن ، پوپايكىلار ھازىر يەرلىك 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;

ئىشلىتىش

JavaScript ئارقىلىق پوپايكىلارنى قوزغىتىڭ:

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

پوپايكىلارنى كۇنۇپكا تاختىسى ۋە ياردەمچى تېخنىكا ئىشلەتكۈچىلەر ئۈچۈن ئىشلەش

كۇنۇپكا تاختىسىنى ئىشلەتكۈچىلەرنىڭ ئېلېكترونلۇق پروگراممىلىرىڭىزنى قوزغىتىشىغا يول قويۇش ئۈچۈن ، ئۇلارنى پەقەت ئەنئەنىۋى كۇنۇپكا تاختىسى فوكۇسلانغان ۋە ئۆز-ئارا تەسىر كۆرسىتىدىغان HTML ئۇلانمىلىرىغا قوشۇشىڭىز كېرەك (مەسىلەن ئۇلىنىش ياكى شەكىل كونتروللۇقى دېگەندەك). خاسلىقنى قوشۇش ئارقىلىق خالىغان HTML ئېلېمېنتلىرى (مەسىلەن <span>) نى فوكۇس توغرىلىغىلى بولسىمۇ tabindex="0"، ئەمما بۇ كۇنۇپكا تاختىسى ئىشلەتكۈچىلەر ئۈچۈن ئۆز-ئارا تەسىر كۆرسىتەلمەيدىغان ئېلېمېنتلارغا كىشىنى بىزار قىلىدىغان ۋە قايمۇقتۇرىدىغان بەتكۈچ توختايدۇ ، نۆۋەتتە كۆپىنچە ياردەمچى تېخنىكىلار بۇ ئەھۋالدا مودا ئېقىمىنىڭ مەزمۇنىنى ئېلان قىلمايدۇ. . بۇنىڭدىن باشقا ، پەقەت مودا ئېقىمىڭىزنىڭ قوزغاتقۇچىسىغىلا تايانماڭ hover، چۈنكى بۇ ئۇلارنىڭ كۇنۇپكا تاختىسى ئىشلەتكۈچىلىرىنى قوزغىتالمايدۇ.

سىز تاللانما ئارقىلىق مول ، قۇرۇلمىلىق HTML قىستۇرسىڭىزمۇ ، htmlئارتۇقچە مەزمۇن قوشۇشتىن ساقلىنىشىڭىزنى تەۋسىيە قىلىمىز. پوپايكىلارنىڭ ھازىرقى خىزمەت ئۇسۇلى شۇكى ، كۆرسىتىلگەندىن كېيىن ، ئۇلارنىڭ مەزمۇنى خاسلىق بىلەن قوزغاتقۇچ ئېلېمېنتىغا باغلىنىدۇ aria-describedby. نەتىجىدە ، مودا ئېقىمىدىكى مەزمۇنلارنىڭ ھەممىسى تېخنىكا ئىشلەتكۈچىلەرگە ئۇزۇن ، ئۈزۈلمەس ئېقىن سۈپىتىدە ياردەم قىلىدىغانلىقى ئېلان قىلىنىدۇ.

ئۇندىن باشقا ، ئۆز-ئارا تەسىر كۆرسىتىدىغان كونتروللارنى (مەسىلەن شەكىل ئېلېمېنتى ياكى ئۇلىنىش دېگەندەك) مودا ئېقىمىڭىزغا (بۇ ئېلېمېنتلارنى allowListرۇخسەت قىلىنغان خاسلىق ۋە خەتكۈچلەرگە قوشۇش ئارقىلىق) ئۆز ئىچىگە ئالسىڭىزمۇ ، شۇنىڭغا دىققەت قىلىڭكى ، نۆۋەتتە مودا ئېقىمى كۇنۇپكا تاختىسىنىڭ فوكۇس تەرتىپىنى باشقۇرمايدۇ. ھەرپتاختىسى ئىشلەتكۈچىلەر مودا ئېقىمىنى ئاچقاندا ، فوكۇس قوزغىتىش ئېلېمېنتىغا مەركەزلىشىدۇ ، پوپايكا ئادەتتە ھۆججەت قۇرۇلمىسىدىكى قوزغاتقۇچقا ئەگىشىپ ماڭمىغاچقا ، ئالغا ئىلگىرىلەش / بېسىشقا كاپالەتلىك قىلغىلى بولمايدۇ.TABكۇنۇپكا تاختىسىدىكى ئىشلەتكۈچىنى popover نىڭ ئۆزىگە يۆتكەيدۇ. قىسقىسى ، مودا ئېقىمىغا ئۆز-ئارا كونترول كونترول قوشسىڭىز ، بۇ كونتروللارنى كونۇپكا تاختىسى ئىشلەتكۈچىلەر ۋە ياردەمچى تېخنىكىلارنى ئىشلەتكۈچىلەرگە يەتكىلى بولمايدىغان ياكى ئىشلەتكىلى بولمايدىغان قىلىپ قويىدۇ ياكى ھېچ بولمىغاندا مەنتىقىسىز ئومۇمىي فوكۇس تەرتىپىنى ھاسىل قىلىشى مۇمكىن. بۇ خىل ئەھۋال ئاستىدا ئۇنىڭ ئورنىغا مودېل دىئالوگ ئىشلىتىشنى ئويلاڭ.

تاللانما

تاللانمىلارنى سانلىق مەلۇمات خاسلىقى ياكى JavaScript ئارقىلىق يەتكۈزگىلى بولىدىغان بولغاچقا ، تاللاش نامىغا data-bs-ئوخشاش قوشۇمچە ئىسىم قوشالايسىز data-bs-animation="{value}". تاللاش خاسلىقى ئارقىلىق تاللاش نامىنى «تۆگە دېلوسى» دىن «kebab-case» غا ئۆزگەرتىشكە كاپالەتلىك قىلىڭ . مەسىلەن ، data-bs-custom-class="beautifier"ئۇنىڭ ئورنىغا ئىشلىتىڭ data-bs-customClass="beautifier".

Bootstrap 5.2.0 گە قەدەر ، بارلىق زاپچاسلار JSON تىزمىسى سۈپىتىدە ئاددىي زاپچاس سەپلىمىسىنى ساقلىيالايدىغان تەجرىبە ساقلانغان سانلىق مەلۇمات خاسلىقىنى قوللايدۇ. data-bs-configئېلېمېنتنىڭ خاسلىقى 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 سۇس ئۆتۈشنى ئىشلىتىڭ.
boundary string, element 'clippingParents' ئېقىننىڭ ئېقىپ كېتىش چەكلىمىسى (پەقەت Popper نىڭ ئالدىنى ئېلىش ئېقىمى ئۆزگەرتكۈچكە ماس كېلىدۇ). سۈكۈتتىكى ھالەتتە ، ئۇ 'clippingParents'HTMLElement پايدىلىنىشىنى قوبۇل قىلالايدۇ (پەقەت JavaScript ئارقىلىق). تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن Popper نىڭ detectOverflow ھۆججىتىنى كۆرۈڭ .
container string, element, false false پوپايكىنى مەلۇم ئېلېمېنتقا قوشىدۇ. مىسال : container: 'body'. بۇ تاللاش ئالاھىدە پايدىلىق بولۇپ ، ئۇ كۆزنەكنىڭ چوڭ-كىچىكلىكىنى قوزغاتقۇچ ئېلېمېنتىغا يېقىن ھۆججەتنىڭ ئېقىمىغا ئورۇنلاشتۇرالايسىز - بۇ كۆزنەكنىڭ چوڭ-كىچىكلىكىدىكى قوزغاتقۇچنىڭ قوزغاتقۇچ ئېلېمېنتىدىن يىراقلاپ كېتىشىنىڭ ئالدىنى ئالىدۇ.
content string, element, function '' data-bs-contentخاسلىق بولمىسا كۆڭۈلدىكى مەزمۇن قىممىتى . thisئەگەر بىر فۇنكسىيە بېرىلسە ، ئۇ پايدىلانما ئۇلانغان ئېلېمېنتقا پايدىلىنىش قىممىتى بىلەن چاقىرىلىدۇ .
customClass string, function '' كۆرۈنگەندە پوپقا دەرس قوشۇڭ. شۇنىڭغا دىققەت قىلىڭكى ، بۇ دەرسلەر قېلىپدا كۆرسىتىلگەن ھەر قانداق دەرسلەردىن باشقا قوشۇلىدۇ. كۆپ سىنىپ قوشۇش ئۈچۈن ئۇلارنى بوشلۇق بىلەن ئايرىڭ : 'class-1 class-2'. قوشۇمچە سىنىپ نامىنى ئۆز ئىچىگە ئالغان بىر قۇرنى قايتۇرىدىغان فۇنكسىيەنىمۇ ئۆتەلەيسىز.
delay سان ، ئوبيېكت 0 قاڭقىش (ms) نى كۆرسىتىش ۋە يوشۇرۇشنى كېچىكتۈرۈش - قولدا قوزغىتىش تىپىغا ماس كەلمەيدۇ. ئەگەر بىر سان تەمىنلەنسە ، يوشۇرۇش / كۆرسىتىشكە كېچىكىش قوللىنىلىدۇ. ئوبيېكت قۇرۇلمىسى : delay: { "show": 500, "hide": 100 }.
fallbackPlacements string, array ['top', 'right', 'bottom', 'left'] سانلار گۇرپىسىدىكى ئورۇنلاشتۇرۇش تىزىملىكى بىلەن تەمىنلەش ئارقىلىق كەينىگە قايتىشنى بەلگىلەڭ. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن Popper نىڭ ھەرىكەت ھۆججىتىنى كۆرۈڭ .
html boolean false سەكرىمە ھالەتتە HTML غا يول قويۇڭ. ئەگەر راست بولسا ، كۆزنەكتىكى HTML خەتكۈچلىرى مودا titleئېغىزىدا كۆرسىتىلىدۇ. ئەگەر يالغان بولسا ، innerTextمۈلۈك DOM غا مەزمۇن قىستۇرۇشقا ئىشلىتىلىدۇ. ئەگەر XSS ھۇجۇمىدىن ئەنسىرىسىڭىز تېكىست ئىشلىتىڭ.
offset سان ، تىزما ، ئىقتىدار [0, 0] نىشانغا سېلىشتۇرغاندا پوپايكىنىڭ تولۇقلىنىشى. سىز تۆۋەندىكىدەك پەش بىلەن ئايرىلغان قىممەتلەر بىلەن سانلىق مەلۇمات خاسلىقىدا بىر قۇرنى يەتكۈزەلەيسىز data-bs-offset="10,20". فۇنكسىيەنى ئېنىقلاش ئۈچۈن فۇنكسىيە قوللىنىلغاندا ، ئۇ پوپايكا ئورنىتىش ، پايدىلىنىش ماتېرىيالى ۋە پوپايكىلارنى ئۆز ئىچىگە ئالغان جىسىم بىلەن بىرىنچى تالاش-تارتىش دەپ ئاتىلىدۇ. قوزغىتىش ئېلېمېنتى DOM تۈگۈنى ئىككىنچى تالاش-تارتىش سۈپىتىدە ئۆتتى. بۇ ئىقتىدار چوقۇم ئىككى سان بىلەن سانلار گۇرپىسىنى قايتۇرۇشى كېرەك: تېيىلىش ، ئارىلىق . تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن Popper نىڭ offset ھۆججىتىنى كۆرۈڭ .
placement string, function 'top' پوپايكىنى قانداق ئورۇنلاشتۇرۇش: ئاپتوماتىك ، ئۈستى ، ئاستى ، سول ، ئوڭ. بەلگىلەنسە ، ئۇ autoھەرىكەتچان ھالەتتە ھەرىكەتچان يۆنىلىشنى ئۆزگەرتىدۇ. ئورۇنلاشتۇرۇشنى بەلگىلەشتە فۇنكسىيە قوللىنىلغاندا ، ئۇ تۇنجى DOM تۈگۈنى ۋە قوزغىتىش ئېلېمېنتى DOM تۈگۈنى ئىككىنچى دەپ ئاتىلىدۇ. بۇ thisمەزمۇن مودا ئېقىمىغا تەڭشەلدى.
popperConfig null, object, function null Bootstrap نىڭ سۈكۈتتىكى Popper سەپلىمىسىنى ئۆزگەرتىش ئۈچۈن Popper نىڭ سەپلىمىسىنى كۆرۈڭ . Popper سەپلىمىسىنى ھاسىل قىلىشتا بىر ئىقتىدار ئىشلىتىلگەندە ، ئۇ Bootstrap نىڭ سۈكۈتتىكى Popper سەپلىمىسىنى ئۆز ئىچىگە ئالغان جىسىم بىلەن ئاتىلىدۇ. ئۇ سىزنىڭ سەپلىمىسىڭىز بىلەن سۈكۈتتىكىنى ئىشلىتىشىڭىزگە ۋە بىرلەشتۈرۈشىڭىزگە ياردەم بېرىدۇ. بۇ ئىقتىدار چوقۇم Popper نىڭ سەپلىمە ئوبيېكتىنى قايتۇرۇشى كېرەك.
sanitize boolean true تازىلىقنى قوزغىتىش ياكى چەكلەش. ئەگەر قوزغىتىلسا 'template'، 'content'تاللاشلار 'title'تازىلىنىدۇ.
sanitizeFn null, function null بۇ يەردە ئۆزىڭىزنىڭ تازىلاش ئىقتىدارىنى تەمىنلىيەلەيسىز. ئەگەر مەخسۇس كۇتۇپخانا ئىشلىتىپ تازىلىق قىلىشنى ياخشى كۆرسىڭىز ، بۇ پايدىلىق بولىدۇ.
selector string, false false ئەگەر تاللىغۇچ تەمىنلەنسە ، يۆتكىلىشچان ئوبيېكتلار بەلگىلەنگەن نىشانغا تاپشۇرۇلىدۇ. ئەمەلىيەتتە ، بۇ ھەرىكەتچان قوشۇلغان DOM ئېلېمېنتلىرىغا ( jQuery.onقوللاش) قا چاپلاش پروگراممىلىرىنى ئىشلىتىشكىمۇ ئىشلىتىلىدۇ. بۇ مەسىلە ۋە مەزمۇنلۇق مىسالنى كۆرۈڭ .
template string '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' قاڭقىش كۆزنىكىنى قۇرغاندا ئىشلىتىدىغان HTML نى ئاساس قىلىڭ. پوپايكىلارنىڭ titleئىچىگە ئوكۇل قىلىنىدۇ .popover-inner. .popover-arrowمودا ئېقىمىغا ئايلىنىدۇ. سىرتقى ئورالما ئېلېمېنتىنىڭ .popoverسىنىپى بولۇشى كېرەك role="popover".
title string, element, function '' titleئەگەر خاسلىق بولمىسا سۈكۈتتىكى تېما قىممىتى . thisئەگەر بىر فۇنكسىيە بېرىلسە ، ئۇ پايدىلانما ئۇلانغان ئېلېمېنتقا پايدىلىنىش قىممىتى بىلەن چاقىرىلىدۇ .
trigger string '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
  }
})

Methods

ماس قەدەمسىز ئۇسۇل ۋە ئۆتكۈنچى

بارلىق API ئۇسۇللىرى ماس قەدەمسىز بولۇپ ، ئۆتكۈنچى باسقۇچنى باشلايدۇ . ئۇلار بۇرۇلۇش باشلانغان ھامان ، ئۇ ئاخىرلاشماي تۇرۇپلا تېلېفون قىلغۇچىغا قايتىپ كېلىدۇ . بۇنىڭدىن باشقا ، ئۆتكۈنچى زاپچاسنى چاقىرىش ئۇسۇلىغا سەل قارىلىدۇ .

تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىش ئۈچۈن JavaScript ھۆججىتىمىزنى كۆرۈڭ .

ئۇسۇل چۈشەندۈرۈش
disable ئېلېمېنتنىڭ مودا ئېقىمىنىڭ كۆرسىتىلىش ئىقتىدارىنى چىقىرىپ تاشلايدۇ. پوپايكا قايتا قوزغىتىلغاندىلا ئاندىن كۆرسىتىلىدۇ.
dispose بىر ئېلېمېنتنىڭ ئېقىمىنى يوشۇرىدۇ ۋە يوقىتىدۇ (DOM ئېلېمېنتىدىكى ساقلانغان سانلىق مەلۇماتلارنى ئۆچۈرۈۋېتىدۇ). ۋەكىللەر ئۆمىكىنى ئىشلىتىدىغان پوپايكىلار ( تاللاش ئارقىلىقselector ياسالغان ) ئەۋلاد قوزغاتقۇچ ئېلېمېنتلىرىدا ئايرىم بۇزۇلمايدۇ.
enable بىر ئېلېمېنتنىڭ مودا ئېقىمىغا كۆرسىتىش ئىقتىدارىنى بېرىدۇ. Popovers سۈكۈتتىكى ھالەتتە قوزغىتىلغان.
getInstance تۇراقلىق ئۇسۇل ئارقىلىق DOM ئېلېمېنتى بىلەن مۇناسىۋەتلىك مودا ئېقىمىغا ئېرىشەلەيسىز.
getOrCreateInstance تۇراقلىق ئۇسۇل ئارقىلىق DOM ئېلېمېنتى بىلەن باغلىنىشلىق ئۈلگە كۆرسىتىشكە ياكى باشلانمىغان ئەھۋال ئاستىدا يېڭىسىنى قۇرۇشقا يول قويىدۇ.
hide بىر ئېلېمېنتنىڭ ئېقىمىنى يوشۇرىدۇ. پوپايكا ئەمەلىيەتتە يوشۇرۇنغان (يەنى ۋەقە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ . hidden.bs.popoverبۇ مودا ئېقىمىنىڭ «قولدا قوزغىتىش» دەپ قارىلىدۇ.
setContent ئۇ قوزغىتىلغاندىن كېيىن مودا ئېقىمىنىڭ مەزمۇنىنى ئۆزگەرتىشنىڭ ئۇسۇلى بىلەن تەمىنلەيدۇ.
show بىر ئېلېمېنتنىڭ مودا ئېقىمىنى ئاشكارىلايدۇ. پوپايكا ئەمەلىيەتتە كۆرسىتىلىشتىن بۇرۇن (يەنى ۋەقە يۈز بېرىشتىن بۇرۇن) دەۋەتچىگە قايتىدۇ . shown.bs.popoverبۇ مودا ئېقىمىنىڭ «قولدا قوزغىتىش» دەپ قارىلىدۇ. ئىسمى ۋە مەزمۇنى ھەر ئىككىسى نۆل ئۇزۇنلۇقتىكى پوپايكىلار ھەرگىز كۆرۈنمەيدۇ.
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قېلىپ ئىچىدىكى ئۈنۈملۈك تاللىغۇچ بولۇپ ، ھەر بىر مۇناسىۋەتلىك مۈلۈك قىممىتى بولىدۇ string| element| function| null

Events

Event چۈشەندۈرۈش
hide.bs.popover hideئۈلگە ئۇسۇلى چاقىرىلغاندا بۇ پائالىيەت دەرھال ئېتىۋېتىلىدۇ .
hidden.bs.popover بۇ ھادىسە ئابونتلار تەرىپىدىن يوشۇرۇلغاندىن كېيىن چىقىرىۋېتىلىدۇ (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ).
inserted.bs.popover بۇ پائالىيەت show.bs.popoverDOM غا مودا قېلىپ قوشۇلغاندىن كېيىن ئىشتىن توختىتىلدى.
show.bs.popover showمىسال ئۇسۇلى چاقىرىلغاندا بۇ ھادىسە دەرھال ئېتىلىدۇ .
shown.bs.popover بۇ ھادىسە ئىشلەتكۈچىگە كۆرۈنگەندە (CSS ئۆتكۈنچى باسقۇچنىڭ تاماملىنىشىنى ساقلايدۇ).
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})