ຂ້າມໄປຫາເນື້ອຫາຕົ້ນຕໍ ຂ້າມໄປຫາການນຳທາງເອກະສານ
Check
in English

Popovers

ເອກະສານແລະຕົວຢ່າງສໍາລັບການເພີ່ມ Bootstrap popovers, ຄືກັບທີ່ພົບເຫັນຢູ່ໃນ iOS, ເຂົ້າໄປໃນອົງປະກອບໃດໆໃນເວັບໄຊຂອງທ່ານ.

ພາບລວມ

ສິ່ງທີ່ຄວນຮູ້ເມື່ອໃຊ້ປລັກອິນ popover:

  • Popovers ອີງໃສ່ຫ້ອງສະຫມຸດພາກສ່ວນທີສາມ Popper ສໍາລັບການຈັດຕໍາແຫນ່ງ. ທ່ານຕ້ອງ ໃສ່ popper.min.js ກ່ອນ bootstrap.js, ຫຼືໃຊ້ອັນ bootstrap.bundle.min.jsທີ່ມີ Popper.
  • Popovers ຕ້ອງການ plugin popover ເປັນການເພິ່ງພາອາໄສ.
  • Popovers ແມ່ນເລືອກເຂົ້າຮ່ວມສໍາລັບເຫດຜົນການປະຕິບັດ, ດັ່ງນັ້ນ ທ່ານຕ້ອງເລີ່ມຕົ້ນດ້ວຍຕົນເອງ .
  • ຄວາມຍາວສູນ titleແລະ contentຄ່າຈະບໍ່ສະແດງເປັນ popover.
  • ລະບຸ container: 'body'ເພື່ອຫຼີກເວັ້ນການສະແດງບັນຫາໃນອົງປະກອບທີ່ສັບສົນຫຼາຍ (ເຊັ່ນ: ກຸ່ມການປ້ອນຂໍ້ມູນຂອງພວກເຮົາ, ກຸ່ມປຸ່ມ, ແລະອື່ນໆ).
  • ການກະຕຸ້ນ popovers ໃນອົງປະກອບທີ່ເຊື່ອງໄວ້ຈະບໍ່ເຮັດວຽກ.
  • Popovers .disabledຫຼື disabledອົງປະກອບຕ້ອງໄດ້ຮັບການກະຕຸ້ນຢູ່ໃນອົງປະກອບ wrapper.
  • ເມື່ອຖືກກະຕຸ້ນຈາກສະມໍທີ່ຫໍ່ຜ່ານຫຼາຍເສັ້ນ, popovers ຈະຖືກຈຸດສູນກາງລະຫວ່າງຄວາມກວ້າງລວມຂອງສະມໍ. ໃຊ້ .text-nowrapໃນ <a>s ຂອງທ່ານເພື່ອຫຼີກເວັ້ນການພຶດຕິກໍານີ້.
  • Popovers ຕ້ອງຖືກເຊື່ອງໄວ້ກ່ອນທີ່ອົງປະກອບທີ່ສອດຄ້ອງກັນຂອງພວກມັນຖືກໂຍກຍ້າຍອອກຈາກ DOM.
  • Popovers ສາມາດກະຕຸ້ນໄດ້ຍ້ອນອົງປະກອບພາຍໃນເງົາ DOM.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ອົງປະກອບນີ້ໃຊ້ເຄື່ອງອະນາໄມທີ່ມີເນື້ອຫາໃນຕົວ, ເຊິ່ງກໍາຈັດອົງປະກອບ HTML ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດຢ່າງຊັດເຈນ. ເບິ່ງ ພາກສ່ວນເຄື່ອງອະນາໄມໃນເອກະສານ JavaScript ຂອງພວກເຮົາ ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.
ຜົນກະທົບຂອງພາບເຄື່ອນໄຫວຂອງອົງປະກອບນີ້ແມ່ນຂຶ້ນກັບການ prefers-reduced-motionສອບຖາມສື່. ເບິ່ງ ພາກສ່ວນການເຄື່ອນໄຫວທີ່ຫຼຸດລົງຂອງເອກະສານການຊ່ວຍເຂົ້າເຖິງຂອງພວກເຮົາ .

ສືບຕໍ່ອ່ານເພື່ອເບິ່ງວ່າ popovers ເຮັດວຽກແນວໃດກັບບາງຕົວຢ່າງ.

ຕົວຢ່າງ

ເປີດໃຊ້ popovers

ດັ່ງທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, ທ່ານຕ້ອງເລີ່ມຕົ້ນ popovers ກ່ອນທີ່ມັນຈະຖືກນໍາໃຊ້. ວິທີຫນຶ່ງເພື່ອເລີ່ມຕົ້ນ popovers ທັງຫມົດໃນຫນ້າຫນຶ່ງແມ່ນການເລືອກພວກມັນໂດຍ data-bs-toggleຄຸນລັກສະນະຂອງພວກເຂົາ, ເຊັ່ນ:

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

ການສາທິດສົດ

ພວກເຮົາໃຊ້ JavaScript ຄ້າຍຄືກັນກັບຕົວຢ່າງຂ້າງເທິງເພື່ອສະແດງ popover ສົດຕໍ່ໄປນີ້. ຫົວຂໍ້ຖືກຕັ້ງຜ່ານ data-bs-titleແລະເນື້ອໃນເນື້ອໃນຖືກຕັ້ງຜ່ານ data-bs-content.

ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະໃຊ້ titleຫຼື data-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, ທ່ານຈະຕ້ອງການກໍານົດ custom containerເພື່ອໃຫ້ HTML ຂອງ popover ປາກົດຢູ່ໃນອົງປະກອບນັ້ນແທນ. ນີ້ແມ່ນທົ່ວໄປໃນຕາຕະລາງຕອບສະຫນອງ, ກຸ່ມການປ້ອນຂໍ້ມູນ, ແລະອື່ນໆ.

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

ສະຖານະການອື່ນທີ່ທ່ານຕ້ອງການທີ່ຈະກໍານົດ custom explicit containerແມ່ນ popovers ພາຍໃນ modal dialog , ເພື່ອໃຫ້ແນ່ໃຈວ່າ popover ຕົວຂອງມັນເອງຖືກຕໍ່ຫນ້າ modal ໄດ້. ນີ້ແມ່ນສິ່ງສໍາຄັນໂດຍສະເພາະສໍາລັບ popovers ທີ່ມີອົງປະກອບການໂຕ້ຕອບ - modal dialogs ຈະໃສ່ກັບດັກ, ດັ່ງນັ້ນ, ເວັ້ນເສຍແຕ່ popover ເປັນອົງປະກອບເດັກນ້ອຍຂອງ modal, ຜູ້ໃຊ້ຈະບໍ່ສາມາດສຸມໃສ່ຫຼືກະຕຸ້ນອົງປະກອບການໂຕ້ຕອບເຫຼົ່ານີ້.

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

popovers ທີ່ກໍາຫນົດເອງ

ເພີ່ມໃນ v5.2.0

ທ່ານສາມາດປັບແຕ່ງຮູບລັກສະນະຂອງ popovers ໂດຍໃຊ້ ຕົວແປ CSS . ພວກເຮົາກໍານົດຫ້ອງຮຽນແບບກໍານົດເອງ data-bs-custom-class="custom-popover"ເພື່ອກໍານົດຂອບເຂດລັກສະນະທີ່ກໍາຫນົດເອງຂອງພວກເຮົາແລະໃຊ້ມັນເພື່ອ override ບາງຕົວແປ 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ກະຕຸ້ນເພື່ອປິດ popovers ໃນການຄລິກຕໍ່ໄປຂອງຜູ້ໃຊ້ຂອງອົງປະກອບທີ່ແຕກຕ່າງຈາກອົງປະກອບສະຫຼັບ.

ຕ້ອງການເຄື່ອງໝາຍສະເພາະສຳລັບການປິດການຄລິກຕໍ່ໄປ

ສໍາລັບພຶດຕິກໍາຂ້າມຕົວທ່ອງເວັບແລະຂ້າມເວທີທີ່ເຫມາະສົມ, ທ່ານຕ້ອງໃຊ້ <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 ຈາກ wrapper <div>ຫຼື <span>, ໂດຍສະເພາະແມ່ນເຮັດໃຫ້ແປ້ນພິມສຸມໃສ່ການນໍາໃຊ້ 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 ເຮັດວຽກສໍາລັບ keyboard ແລະຜູ້ໃຊ້ເຕັກໂນໂລຊີການຊ່ວຍເຫຼືອ

ເພື່ອໃຫ້ຜູ້ໃຊ້ແປ້ນພິມສາມາດເປີດໃຊ້ popovers ຂອງທ່ານ, ທ່ານຄວນເພີ່ມພວກມັນໃສ່ອົງປະກອບ HTML ທີ່ເປັນແບບດັ້ງເດີມທີ່ເນັ້ນໃສ່ແປ້ນພິມແລະໂຕ້ຕອບ (ເຊັ່ນ: ການເຊື່ອມຕໍ່ຫຼືການຄວບຄຸມແບບຟອມ). ເຖິງແມ່ນວ່າອົງປະກອບ HTML ທີ່ບໍ່ມັກ (ເຊັ່ນ <span>s) ສາມາດສຸມໃສ່ໄດ້ໂດຍການເພີ່ມ tabindex="0"ຄຸນລັກສະນະ, ນີ້ຈະເພີ່ມການຢຸດແຖບທີ່ຫນ້າລໍາຄານແລະສັບສົນໃນອົງປະກອບທີ່ບໍ່ມີການໂຕ້ຕອບສໍາລັບຜູ້ໃຊ້ແປ້ນພິມ, ແລະເຕັກໂນໂລຢີການຊ່ວຍເຫຼືອສ່ວນໃຫຍ່ໃນປະຈຸບັນບໍ່ໄດ້ປະກາດເນື້ອຫາຂອງ popover ໃນສະຖານະການນີ້. . ນອກຈາກນັ້ນ, ຢ່າອີງໃສ່ພຽງແຕ່ hoverເປັນຕົວກະຕຸ້ນສໍາລັບ popovers ຂອງທ່ານ, ເນື່ອງຈາກວ່ານີ້ຈະເຮັດໃຫ້ພວກເຂົາເປັນໄປບໍ່ໄດ້ທີ່ຈະກະຕຸ້ນສໍາລັບຜູ້ໃຊ້ແປ້ນພິມ.

While you can insert rich, structured HTML in popovers with the html option, we strongly recommend that you avoid adding an excessive amount of content. The way popovers currently work is that, once displayed, their content is tied to the trigger element with the aria-describedby attribute. As a result, the entirety of the popover’s content will be announced to assistive technology users as one long, uninterrupted stream.

ນອກຈາກນັ້ນ, ໃນຂະນະທີ່ມັນເປັນໄປໄດ້ທີ່ຈະລວມເອົາການຄວບຄຸມແບບໂຕ້ຕອບ (ເຊັ່ນ: ອົງປະກອບແບບຟອມຫຼືການເຊື່ອມຕໍ່) ໃນ popover ຂອງທ່ານ (ໂດຍການເພີ່ມອົງປະກອບເຫຼົ່ານີ້ໃຫ້ກັບ allowListຄຸນລັກສະນະແລະ tags ທີ່ໄດ້ຮັບອະນຸຍາດ), ຈົ່ງຮູ້ວ່າໃນປັດຈຸບັນ popover ບໍ່ໄດ້ຈັດການຄໍາສັ່ງສຸມໃສ່ແປ້ນພິມ. ເມື່ອຜູ້ໃຊ້ແປ້ນພິມເປີດ popover, ຈຸດສຸມຍັງຄົງຢູ່ໃນອົງປະກອບທີ່ກະຕຸ້ນ, ແລະຍ້ອນວ່າ popover ມັກຈະບໍ່ປະຕິບັດຕາມຕົວກະຕຸ້ນໃນໂຄງສ້າງຂອງເອກະສານ, ບໍ່ມີການຮັບປະກັນວ່າການກ້າວໄປຂ້າງຫນ້າ / ກົດ.TABຈະຍ້າຍຜູ້ໃຊ້ແປ້ນພິມເຂົ້າໄປໃນ popover ຕົວຂອງມັນເອງ. ໃນສັ້ນ, ພຽງແຕ່ການເພີ່ມການຄວບຄຸມແບບໂຕ້ຕອບກັບ popover ມີແນວໂນ້ມທີ່ຈະເຮັດໃຫ້ການຄວບຄຸມເຫຼົ່ານີ້ບໍ່ສາມາດເຂົ້າຫາໄດ້ / ບໍ່ສາມາດໃຊ້ໄດ້ສໍາລັບຜູ້ໃຊ້ແປ້ນພິມແລະຜູ້ໃຊ້ເຕັກໂນໂລຢີຊ່ວຍເຫຼືອ, ຫຼືຢ່າງຫນ້ອຍເຮັດໃຫ້ຄໍາສັ່ງຈຸດສຸມໂດຍລວມທີ່ບໍ່ມີເຫດຜົນ. ໃນກໍລະນີເຫຼົ່ານີ້, ພິຈາລະນາໃຊ້ modal dialog ແທນ.

ທາງເລືອກ

ເນື່ອງຈາກທາງເລືອກສາມາດຖືກສົ່ງຜ່ານຄຸນລັກສະນະຂໍ້ມູນຫຼື 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 string. ເມື່ອອົງປະກອບມີ data-bs-config='{"delay":0, "title":123}'ແລະ data-bs-title="456"ຄຸນລັກສະນະ, ຄ່າສຸດທ້າຍ titleຈະເປັນ 456ແລະຄຸນລັກສະນະຂອງຂໍ້ມູນແຍກຕ່າງຫາກຈະ override ຄ່າທີ່ໃຫ້ຢູ່ໃນ data-bs-config. ນອກຈາກນັ້ນ, ຄຸນລັກສະນະຂໍ້ມູນທີ່ມີຢູ່ແມ່ນສາມາດຈັດວາງຄ່າ JSON ເຊັ່ນ data-bs-delay='{"show":0,"hide":150}'.

ຈົ່ງຈື່ໄວ້ວ່າສໍາລັບເຫດຜົນດ້ານຄວາມປອດໄພ sanitize, sanitizeFn, ແລະ allowListທາງເລືອກບໍ່ສາມາດຖືກສະຫນອງໂດຍໃຊ້ຄຸນລັກສະນະຂໍ້ມູນ.
ຊື່ ປະເພດ ຄ່າເລີ່ມຕົ້ນ ລາຍລະອຽດ
allowList ວັດຖຸ ຄ່າເລີ່ມຕົ້ນ ວັດຖຸທີ່ມີຄຸນລັກສະນະ ແລະແທັກທີ່ອະນຸຍາດ.
animation ບູລີນ true ນຳໃຊ້ CSS ການຫັນປ່ຽນໄປເປັນ popover.
boundary string, ອົງປະກອບ 'clippingParents' ຂອບເຂດຈໍາກັດຂອງ overflow ຂອງ popover (ໃຊ້ກັບຕົວແກ້ໄຂການປ້ອງກັນການ overflow ຂອງ Popper ເທົ່ານັ້ນ). ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນເປັນ 'clippingParents'ແລະສາມາດຍອມຮັບການອ້າງອີງ HTMLElement (ຜ່ານ JavaScript ເທົ່ານັ້ນ). ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມເບິ່ງ ເອກະສານ detectOverflow ຂອງ Popper .
container string, ອົງປະກອບ, false false ຕື່ມຂໍ້ມູນໃສ່ກັບອົງປະກອບສະເພາະ. ຕົວຢ່າງ: container: 'body'. ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະໃນທີ່ມັນອະນຸຍາດໃຫ້ທ່ານຈັດວາງ popover ໃນການໄຫຼເຂົ້າຂອງເອກະສານຢູ່ໃກ້ກັບອົງປະກອບ triggering - ເຊິ່ງຈະປ້ອງກັນບໍ່ໃຫ້ popover ຈາກການເລື່ອນອອກຈາກອົງປະກອບ triggering ໃນລະຫວ່າງການປັບຂະຫນາດປ່ອງຢ້ຽມ.
content string, ອົງປະກອບ, 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'] ກຳນົດການຈັດຕຳແໜ່ງສຳຮອງໂດຍການສະໜອງລາຍຊື່ການຈັດວາງໃນອາເຣ (ຕາມລຳດັບຄວາມມັກ). ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມເບິ່ງ ເອກະສານພຶດຕິກໍາ ຂອງ Popper .
html ບູລີນ false ອະນຸຍາດໃຫ້ HTML ໃນ popover ໄດ້. ຖ້າເປັນຄວາມຈິງ, ແທັກ HTML ໃນ popover's titleຈະຖືກສະແດງຢູ່ໃນ popover. ຖ້າເປັນຜິດ, innerTextຄຸນສົມບັດຈະຖືກໃຊ້ເພື່ອໃສ່ເນື້ອຫາເຂົ້າໄປໃນ DOM. ໃຊ້ຂໍ້ຄວາມຖ້າທ່ານກັງວົນກ່ຽວກັບການໂຈມຕີ XSS.
offset ຈໍານວນ, ສະຕິງ, ຫນ້າທີ່ [0, 0] ຊົດເຊີຍຂອງ popover ທຽບກັບເປົ້າຫມາຍຂອງມັນ. ທ່ານສາມາດຖ່າຍທອດສະຕຣິງໃນຄຸນລັກສະນະຂໍ້ມູນດ້ວຍຄ່າທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດເຊັ່ນ: data-bs-offset="10,20". ເມື່ອຟັງຊັນຖືກນໍາໃຊ້ເພື່ອກໍານົດການຊົດເຊີຍ, ມັນຖືກເອີ້ນວ່າວັດຖຸທີ່ມີການຈັດວາງ popper, ການອ້າງອີງ, ແລະ popper rects ເປັນການໂຕ້ຖຽງທໍາອິດຂອງມັນ. ອົງປະກອບກະຕຸ້ນ DOM node ແມ່ນຜ່ານເປັນອາກິວເມັນທີສອງ. ຟັງຊັນຕ້ອງສົ່ງຄືນ array ທີ່ມີສອງຕົວເລກ: skidding , distance . ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມເບິ່ງ ເອກະສານຊົດເຊີຍ ຂອງ Popper .
placement string, function 'top' ວິທີການຈັດຕໍາແຫນ່ງ popover: ອັດຕະໂນມັດ, ເທິງ, ລຸ່ມ, ຊ້າຍ, ຂວາ. ເມື່ອ autoຖືກລະບຸໄວ້, ມັນຈະປັບປ່ຽນ popover ຄືນໃໝ່ແບບໄດນາມິກ. ເມື່ອຟັງຊັນຖືກນໍາໃຊ້ເພື່ອກໍານົດການຈັດວາງ, ມັນຖືກເອີ້ນວ່າ popover DOM node ເປັນ argument ທໍາອິດຂອງມັນແລະອົງປະກອບ triggering DOM node ເປັນທີສອງຂອງມັນ. ສະ thisພາບການຖືກຕັ້ງເປັນຕົວຢ່າງ popover.
popperConfig null, object, function null ເພື່ອປ່ຽນການຕັ້ງຄ່າ Popper ເລີ່ມຕົ້ນຂອງ Bootstrap, ເບິ່ງ ການຕັ້ງຄ່າຂອງ Popper . ເມື່ອຟັງຊັນຖືກໃຊ້ເພື່ອສ້າງການຕັ້ງຄ່າ Popper, ມັນຖືກເອີ້ນດ້ວຍວັດຖຸທີ່ມີການຕັ້ງຄ່າ Popper ເລີ່ມຕົ້ນຂອງ Bootstrap. ມັນຊ່ວຍໃຫ້ທ່ານໃຊ້ແລະລວມຄ່າເລີ່ມຕົ້ນກັບການຕັ້ງຄ່າຂອງທ່ານເອງ. ຟັງຊັນຕ້ອງສົ່ງຄືນວັດຖຸການຕັ້ງຄ່າສໍາລັບ Popper.
sanitize ບູລີນ true ເປີດຫຼືປິດການອະນາໄມ. ຖ້າເປີດໃຊ້ 'template', 'content'ແລະ 'title'ຕົວເລືອກຕ່າງໆຈະຖືກອະນາໄມ.
sanitizeFn null, ຟັງຊັນ null ໃນທີ່ນີ້ທ່ານສາມາດສະຫນອງຫນ້າທີ່ສຸຂາພິບານຂອງທ່ານເອງ. ນີ້ສາມາດເປັນປະໂຫຍດຖ້າທ່ານຕ້ອງການໃຊ້ຫ້ອງສະຫມຸດສະເພາະເພື່ອເຮັດການອະນາໄມ.
selector string, false 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. ອົງປະກອບ wrapper ຊັ້ນນອກທີ່ສຸດຄວນຈະມີ .popoverຊັ້ນຮຽນແລະ role="popover".
title string, ອົງປະກອບ, function '' ຄ່າເລີ່ມຕົ້ນຂອງຫົວຂໍ້ຖ້າ titleຄຸນສົມບັດບໍ່ມີຢູ່. ຖ້າຟັງຊັນຖືກມອບໃຫ້, ມັນຈະຖືກເອີ້ນໂດຍ thisອ້າງອີງໃສ່ອົງປະກອບທີ່ popover ຕິດກັບ.
trigger ສາຍ 'hover focus' popover ຖືກກະຕຸ້ນແນວໃດ: ຄລິກ, ເລື່ອນ, ໂຟກັສ, ຄູ່ມື. ທ່ານອາດຈະຜ່ານຫຼາຍ triggers; ແຍກພວກມັນດ້ວຍຊ່ອງຫວ່າງ. 'manual'ຊີ້ບອກວ່າ popover ຈະໄດ້ຮັບການກະຕຸ້ນໂຄງການໂດຍຜ່ານ .popover('show'), .popover('hide')ແລະ .popover('toggle')ວິທີການ; ຄ່ານີ້ບໍ່ສາມາດຖືກລວມເຂົ້າກັບຕົວກະຕຸ້ນອື່ນໆໄດ້. 'hover'ຂອງມັນເອງຈະສົ່ງຜົນໃຫ້ popovers ທີ່ບໍ່ສາມາດກະຕຸ້ນຜ່ານແປ້ນພິມໄດ້, ແລະຄວນຈະຖືກນໍາໃຊ້ພຽງແຕ່ຖ້າວິທີການທາງເລືອກໃນການຖ່າຍທອດຂໍ້ມູນດຽວກັນສໍາລັບຜູ້ໃຊ້ແປ້ນພິມ.

ຄຸນລັກສະນະຂໍ້ມູນສໍາລັບ popovers ສ່ວນບຸກຄົນ

ທາງເລືອກສໍາລັບ popovers ສ່ວນບຸກຄົນສາມາດຖືກລະບຸເປັນທາງເລືອກໂດຍຜ່ານການນໍາໃຊ້ຄຸນລັກສະນະຂໍ້ມູນ, ດັ່ງທີ່ອະທິບາຍຂ້າງເທິງ.

ການນໍາໃຊ້ຟັງຊັນທີ່ມີpopperConfig

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

ວິທີການ

ວິ​ທີ​ການ asynchronous ແລະ​ການ​ຫັນ​ປ່ຽນ​

ວິທີການ API ທັງໝົດແມ່ນ asynchronous ແລະເລີ່ມການ ຫັນປ່ຽນ . ພວກເຂົາກັບຄືນໄປຫາຜູ້ໂທທັນທີທີ່ການຫັນປ່ຽນເລີ່ມຕົ້ນແຕ່ ກ່ອນທີ່ມັນຈະສິ້ນສຸດລົງ . ນອກຈາກນັ້ນ, ການໂທຫາວິທີການກ່ຽວກັບ ອົງປະກອບຂອງການປ່ຽນແປງຈະຖືກລະເລີຍ .

ເບິ່ງເອກະສານ JavaScript ຂອງພວກເຮົາສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ .

ວິທີການ ລາຍລະອຽດ
disable ເອົາຄວາມສາມາດຂອງ popover ຂອງອົງປະກອບທີ່ຈະສະແດງໃຫ້ເຫັນ. Popover ຈະສາມາດສະແດງໄດ້ພຽງແຕ່ຖ້າມັນຖືກເປີດໃຊ້ໃຫມ່.
dispose ເຊື່ອງ ແລະທໍາລາຍ popover ຂອງອົງປະກອບ (ລຶບຂໍ້ມູນທີ່ເກັບໄວ້ໃນອົງປະກອບ DOM). Popovers ທີ່ໃຊ້ delegation (ເຊິ່ງຖືກສ້າງຂື້ນໂດຍໃຊ້ ຕົວ selectorເລືອກ ) ບໍ່ສາມາດຖືກທໍາລາຍເປັນສ່ວນບຸກຄົນໃນອົງປະກອບ trigger ທີ່ສືບທອດ.
enable ໃຫ້ຄວາມສາມາດສະແດງໃຫ້ເຫັນເຖິງ popover ຂອງອົງປະກອບ. Popovers ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.
getInstance ວິທີການ ຄົງ ທີ່ທີ່ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຕົວຢ່າງ popover ທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM.
getOrCreateInstance ວິທີການ ຄົງ ທີ່ທີ່ອະນຸຍາດໃຫ້ທ່ານໄດ້ຮັບຕົວຢ່າງ popover ທີ່ກ່ຽວຂ້ອງກັບອົງປະກອບ DOM, ຫຼືສ້າງໃຫມ່ໃນກໍລະນີທີ່ມັນບໍ່ໄດ້ຖືກເລີ່ມຕົ້ນ.
hide ເຊື່ອງ popover ຂອງອົງປະກອບ. ກັບຄືນໄປຫາຜູ້ໂທກ່ອນທີ່ຈະ popover ຕົວຈິງແລ້ວໄດ້ຖືກເຊື່ອງໄວ້ (ie ກ່ອນທີ່ hidden.bs.popoverເຫດການຈະເກີດຂຶ້ນ). ນີ້ຖືວ່າເປັນ "ຄູ່ມື" ການກະຕຸ້ນຂອງ popover.
setContent ໃຫ້ວິທີການປ່ຽນເນື້ອຫາຂອງ popover ຫຼັງຈາກການເລີ່ມຕົ້ນຂອງມັນ.
show ເປີດເຜີຍການປະກົດຕົວຂອງອົງປະກອບ. ກັບຄືນໄປຫາຜູ້ໂທກ່ອນທີ່ຈະ popover ໄດ້ສະແດງໃຫ້ເຫັນຕົວຈິງແລ້ວ (ie ກ່ອນທີ່ shown.bs.popoverເຫດການຈະເກີດຂຶ້ນ). ນີ້ຖືວ່າເປັນ "ຄູ່ມື" ການກະຕຸ້ນຂອງ popover. Popovers ທີ່ມີຊື່ ແລະເນື້ອຫາມີຄວາມຍາວສູນແມ່ນບໍ່ເຄີຍສະແດງ.
toggle ສະຫຼັບການປະກົດຕົວຂອງອົງປະກອບໃດໜຶ່ງ. ກັບຄືນໄປຫາຜູ້ໂທກ່ອນທີ່ຈະ popover ຕົວຈິງແລ້ວໄດ້ຖືກສະແດງໃຫ້ເຫັນຫຼືເຊື່ອງໄວ້ (ເຊັ່ນ: ກ່ອນທີ່ shown.bs.popoverຫຼື hidden.bs.popoverເຫດການຈະເກີດຂື້ນ). ນີ້ຖືວ່າເປັນ "ຄູ່ມື" ການກະຕຸ້ນຂອງ popover.
toggleEnabled ສະຫຼັບຄວາມສາມາດຂອງ popover ຂອງອົງປະກອບທີ່ຈະສະແດງ ຫຼືເຊື່ອງໄວ້.
update ອັບເດດຕຳແໜ່ງຂອງ 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'
})
ວິ setContentທີການຍອມຮັບການ objectໂຕ້ຖຽງ, ເຊິ່ງແຕ່ລະຄຸນສົມບັດ -key ເປັນ stringຕົວເລືອກທີ່ຖືກຕ້ອງພາຍໃນແມ່ແບບ popover, ແລະແຕ່ລະຊັບສິນ-ຄ່າທີ່ກ່ຽວຂ້ອງສາມາດເປັນ string| element| function| null

ເຫດການ

ເຫດການ ລາຍລະອຽດ
hide.bs.popover ເຫດການນີ້ຈະຖືກຍິງອອກທັນທີເມື່ອ hideວິທີການຕົວຢ່າງຖືກເອີ້ນ.
hidden.bs.popover ເຫດການນີ້ຖືກຍິງອອກເມື່ອ popover ສໍາເລັດການຖືກເຊື່ອງໄວ້ຈາກຜູ້ໃຊ້ (ຈະລໍຖ້າໃຫ້ CSS transitions ສໍາເລັດ).
inserted.bs.popover ເຫດການນີ້ຖືກໄລ່ອອກຫຼັງຈາກ show.bs.popoverເຫດການເມື່ອແມ່ແບບ popover ໄດ້ຖືກເພີ່ມໃສ່ DOM.
show.bs.popover ເຫດການນີ້ໄຟໄຫມ້ທັນທີເມື່ອ showວິທີການຕົວຢ່າງຖືກເອີ້ນ.
shown.bs.popover ເຫດການນີ້ຖືກຍິງອອກເມື່ອ popover ໄດ້ຖືກເຮັດໃຫ້ຜູ້ໃຊ້ສາມາດເຫັນໄດ້ (ຈະລໍຖ້າໃຫ້ CSS transitions ສໍາເລັດ).
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})