تخطي إلى المحتوى الرئيسي انتقل إلى ملاحة المستندات
Check
in English

بوبوفرز

وثائق وأمثلة لإضافة Bootstrap popovers ، مثل تلك الموجودة في iOS ، إلى أي عنصر على موقعك.

ملخص

أشياء يجب معرفتها عند استخدام المكون الإضافي Popover:

  • تعتمد العناصر المنبثقة على مكتبة Popper التابعة لجهة خارجية لتحديد المواقع. يجب عليك تضمين popper.min.js من قبل bootstrap.js، أو استخدام واحد bootstrap.bundle.min.jsيحتوي على Popper.
  • تتطلب العناصر المنبثقة المكوّن الإضافي popover كعنصر تبعية.
  • يتم تمكين العناصر المنبثقة لأسباب تتعلق بالأداء ، لذا يجب عليك تهيئتها بنفسك .
  • الطول الصفري titleوالقيم contentلن تظهر أبدًا نافذة منبثقة.
  • حدد container: 'body'لتجنب مشاكل العرض في المكونات الأكثر تعقيدًا (مثل مجموعات الإدخال ومجموعات الأزرار وما إلى ذلك).
  • لن يعمل تشغيل العناصر المنبثقة على العناصر المخفية.
  • يجب تشغيل العناصر المنبثقة لـ .disabledأو disabledالعناصر على عنصر مجمّع.
  • عند التشغيل من المراسي التي تلتف عبر خطوط متعددة ، سيتم توسيط العناصر المنبثقة بين العرض الإجمالي للمراسي. استخدمه لتجنب هذا السلوك .text-nowrap.<a>
  • يجب إخفاء العناصر المنبثقة قبل إزالة العناصر المقابلة لها من DOM.
  • يمكن تشغيل النوافذ المنبثقة بفضل عنصر داخل ظل DOM.
بشكل افتراضي ، يستخدم هذا المكون معقم المحتوى المدمج ، والذي يزيل أي عناصر HTML غير مسموح بها بشكل صريح. راجع قسم المطهر في وثائق JavaScript لمزيد من التفاصيل.
يعتمد تأثير الرسوم المتحركة لهذا المكون على 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استخدامه ، سيقوم 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

عندما يكون لديك بعض الأنماط على عنصر أصلي تتداخل مع نافذة منبثقة ، سترغب في تحديد مخصص containerبحيث يظهر HTML المنبثق داخل هذا العنصر بدلاً من ذلك. هذا شائع في الجداول سريعة الاستجابة ومجموعات الإدخال وما شابه.

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

هناك موقف آخر تريد فيه تعيين مخصص صريح وهو containerالمنبثقة داخل مربع حوار مشروط ، للتأكد من أن العنصر المنبثق نفسه مُلحق بالشروط. هذا مهم بشكل خاص بالنسبة للعناصر المنبثقة التي تحتوي على عناصر تفاعلية - ستعمل الحوارات المشروطة على تعويض التركيز ، لذلك ما لم يكن العنصر المنبثق عنصرًا فرعيًا للشروط ، فلن يتمكن المستخدمون من التركيز أو تنشيط هذه العناصر التفاعلية.

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

المنبثقة المخصصة

تمت الإضافة في الإصدار 5.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المشغل لتجاهل العناصر المنبثقة عند نقرة المستخدم التالية على عنصر مختلف عن عنصر التبديل.

مطلوب ترميز محدد للرفض عند النقرة التالية

للحصول على سلوك سليم عبر المتصفحات وعبر الأنظمة الأساسية ، يجب عليك استخدام <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".

بالنسبة لمشغلات popover المعطلة ، قد تفضل أيضًا 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

المتغيرات

تمت الإضافة في الإصدار 5.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;

إستعمال

تمكين العناصر المنبثقة عبر JavaScript:

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

جعل popovers تعمل مع لوحة المفاتيح ومستخدمي التكنولوجيا المساعدة

للسماح لمستخدمي لوحة المفاتيح بتنشيط العناصر المنبثقة الخاصة بك ، يجب عليك فقط إضافتها إلى عناصر HTML التي تكون عادةً قابلة للتركيز على لوحة المفاتيح وتفاعلية (مثل الروابط أو عناصر التحكم في النموذج). على الرغم من أنه يمكن جعل عناصر HTML التعسفية (مثل العناصر <span>) قابلة للتركيز عن طريق إضافة tabindex="0"السمة ، إلا أن هذا سيضيف علامات تبويب مزعجة ومربكة على العناصر غير التفاعلية لمستخدمي لوحة المفاتيح ، ومعظم التقنيات المساعدة لا تعلن حاليًا عن محتوى popover في هذه الحالة . بالإضافة إلى ذلك ، لا تعتمد فقط على hoverالمشغل لمستخدمي لوحة المفاتيح ، لأن هذا سيجعل من المستحيل تشغيلها لمستخدمي لوحة المفاتيح.

بينما يمكنك إدراج HTML منسق ومنظم في العناصر المنبثقة مع htmlالخيار ، نوصي بشدة بتجنب إضافة كمية زائدة من المحتوى. الطريقة التي تعمل بها العناصر المنبثقة حاليًا هي أنه بمجرد عرضها ، يتم ربط محتواها بعنصر المشغل aria-describedbyبالسمة. نتيجة لذلك ، سيتم الإعلان عن محتوى popover بالكامل لمستخدمي التكنولوجيا المساعدة كدفق واحد طويل غير متقطع.

بالإضافة إلى ذلك ، في حين أنه من الممكن أيضًا تضمين عناصر تحكم تفاعلية (مثل عناصر النموذج أو الروابط) في النافذة المنبثقة (عن طريق إضافة هذه العناصر إلى allowListالسمات والعلامات المسموح بها) ، يجب أن تدرك أن العنصر المنبثق حاليًا لا يدير ترتيب تركيز لوحة المفاتيح. عندما يفتح مستخدم لوحة المفاتيح نافذة منبثقة ، يظل التركيز على عنصر التشغيل ، وبما أن العنصر المنبثق عادةً لا يتبع فورًا المشغل في بنية المستند ، فلا يوجد ضمان بالتحرك إلى الأمام / الضغطTABسينقل مستخدم لوحة المفاتيح إلى النافذة المنبثقة نفسها. باختصار ، من المرجح أن تؤدي إضافة عناصر تحكم تفاعلية إلى نافذة منبثقة إلى جعل عناصر التحكم هذه غير قابلة للوصول / غير قابلة للاستخدام لمستخدمي لوحة المفاتيح ومستخدمي التقنيات المساعدة ، أو على الأقل إجراء ترتيب تركيز عام غير منطقي. في هذه الحالات ، ضع في اعتبارك استخدام مربع حوار مشروط بدلاً من ذلك.

خيارات

نظرًا لأنه يمكن تمرير الخيارات عبر سمات البيانات أو 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"النهائية وستتجاوز سمات البيانات المنفصلة القيم المعطاة . بالإضافة إلى ذلك ، يمكن لسمات البيانات الحالية استيعاب قيم JSON مثل .title456data-bs-configdata-bs-delay='{"show":0,"hide":150}'

لاحظ أنه لأسباب تتعلق بالأمان sanitize، لا يمكن توفير الخيارات sanitizeFn، و ، باستخدام سمات البيانات.allowList
اسم يكتب تقصير وصف
allowList هدف القيمة الافتراضية الكائن الذي يحتوي على السمات والعلامات المسموح بها.
animation قيمة منطقية true تطبيق انتقال تلاشي CSS إلى العنصر المنبثق.
boundary سلسلة ، عنصر 'clippingParents' حدود قيد تجاوز السعة المنبثقة (تنطبق فقط على معدل منع تجاوز تدفق Popper). بشكل افتراضي ، يكون 'clippingParents'ويمكن قبول مرجع HTMLElement (عبر JavaScript فقط). لمزيد من المعلومات ، راجع مستندات DiscoverOverflow الخاصة بـ Popper .
container سلسلة ، عنصر ، خطأ false لإلحاق العنصر المنبثق بعنصر معين. مثال container: 'body':. هذا الخيار مفيد بشكل خاص لأنه يسمح لك بوضع النافذة المنبثقة في تدفق المستند بالقرب من عنصر التشغيل - مما سيمنع العنصر المنبثق من الطفو بعيدًا عن عنصر التشغيل أثناء تغيير حجم النافذة.
content سلسلة ، عنصر ، وظيفة '' قيمة المحتوى الافتراضية إذا data-bs-contentلم تكن السمة موجودة. إذا تم توفير وظيفة ، فسيتم استدعاؤها مع thisمجموعة مرجعية لها إلى العنصر الذي يتم إرفاق العنصر المنبثق به.
customClass سلسلة ، وظيفة '' أضف فئات إلى النافذة المنبثقة عند عرضها. لاحظ أنه ستتم إضافة هذه الفئات بالإضافة إلى أي فئات محددة في النموذج. لإضافة عدة فئات ، افصل بينها بمسافات 'class-1 class-2':. يمكنك أيضًا تمرير دالة يجب أن تُرجع سلسلة واحدة تحتوي على أسماء فئات إضافية.
delay عدد وجوه 0 التأخير في إظهار وإخفاء النافذة المنبثقة (بالمللي ثانية) —لا ينطبق على نوع المشغل اليدوي. إذا تم توفير رقم ، فسيتم تطبيق التأخير على كل من الإخفاء / العرض. هيكل الكائن هو delay: { "show": 500, "hide": 100 }:.
fallbackPlacements سلسلة ، مجموعة ['top', 'right', 'bottom', 'left'] حدد المواضع الاحتياطية من خلال توفير قائمة بالمواضع في مصفوفة (بترتيب التفضيل). لمزيد من المعلومات ، راجع مستندات سلوك Popper .
html قيمة منطقية false السماح بتنسيق HTML في النافذة المنبثقة. إذا كان هذا صحيحًا ، فسيتم عرض علامات HTML في العناصر المنبثقة titleفي النافذة المنبثقة. إذا كان خطأ ، innerTextفسيتم استخدام الخاصية لإدراج محتوى في DOM. استخدم النص إذا كنت قلقًا بشأن هجمات XSS.
offset رقم ، سلسلة ، وظيفة [0, 0] إزاحة العنصر المنبثق بالنسبة إلى هدفه. يمكنك تمرير سلسلة في سمات البيانات بقيم مفصولة بفواصل مثل data-bs-offset="10,20":. عندما يتم استخدام دالة لتحديد الإزاحة ، يتم استدعاؤها بكائن يحتوي على موضع بوبر ، والمرجع ، ومستقيم بوبر كوسيطة أولى لها. يتم تمرير عقدة DOM المشغلة كوسيطة ثانية. يجب أن تُرجع الدالة مصفوفة برقمين : الانزلاق والمسافة . لمزيد من المعلومات راجع مستندات تعويض Popper .
placement سلسلة ، وظيفة 'top' كيفية وضع النافذة المنبثقة: تلقائي ، أعلى ، أسفل ، يسار ، يمين. عند autoتحديده ، سيعيد توجيه النافذة المنبثقة ديناميكيًا. عند استخدام دالة لتحديد الموضع ، يتم استدعاؤها باستخدام عقدة DOM المنبثقة باعتبارها الوسيطة الأولى لها وعقدة DOM المشغلة كعقدة ثانية لها. يتم thisتعيين السياق على مثيل popover.
popperConfig فارغة ، كائن ، وظيفة null لتغيير تكوين Popper الافتراضي الخاص بـ Bootstrap ، راجع تكوين Popper . عند استخدام وظيفة لإنشاء تكوين Popper ، يتم استدعاؤها بكائن يحتوي على تكوين Popper الافتراضي الخاص بـ Bootstrap. يساعدك على استخدام ودمج الافتراضي مع التكوين الخاص بك. يجب أن تقوم الوظيفة بإرجاع كائن تكوين لـ Popper.
sanitize قيمة منطقية true تمكين أو تعطيل التطهير. في حالة التنشيط 'template'، سيتم تعقيم الخيارات 'content'.'title'
sanitizeFn لاغية وظيفة 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 لاستخدامها عند إنشاء العنصر المنبثق. titleسيتم حقن العناصر المنبثقة في ملف .popover-inner. .popover-arrowسيصبح سهم المنبثقة. يجب أن يحتوي عنصر الغلاف الخارجي على .popoverالفئة و role="popover".
title سلسلة ، عنصر ، وظيفة '' قيمة العنوان الافتراضية إذا titleلم تكن السمة موجودة. إذا تم توفير وظيفة ، فسيتم استدعاؤها مع thisمجموعة مرجعية لها إلى العنصر الذي يتم إرفاق العنصر المنبثق به.
trigger سلسلة 'hover focus' كيف يتم تشغيل المنبثقة: النقر ، التمرير ، التركيز ، الدليل. يمكنك تمرير عدة مشغلات ؛ افصلهم بمسافة. 'manual'يشير إلى أن العنصر المنبثق سيتم تشغيله برمجيًا عبر .popover('show')، .popover('hide')و التوابع .popover('toggle')؛ لا يمكن دمج هذه القيمة مع أي مشغل آخر. 'hover'من تلقاء نفسه سينتج عن popovers التي لا يمكن تشغيلها عبر لوحة المفاتيح ، ويجب استخدامها فقط في حالة وجود طرق بديلة لنقل نفس المعلومات لمستخدمي لوحة المفاتيح.

سمات البيانات للأفراد المنبثقين

يمكن بدلاً من ذلك تحديد خيارات العناصر المنبثقة الفردية من خلال استخدام سمات البيانات ، كما هو موضح أعلاه.

استخدام وظيفة معpopperConfig

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

طُرق

الطرق غير المتزامنة والانتقالات

جميع طرق API غير متزامنة وتبدأ في الانتقال . يعودون إلى المتصل بمجرد بدء الانتقال ولكن قبل أن ينتهي . بالإضافة إلى ذلك ، سيتم تجاهل استدعاء طريقة على مكون انتقالي .

راجع وثائق JavaScript الخاصة بنا للحصول على مزيد من المعلومات .

طريقة وصف
disable يزيل إمكانية إظهار العنصر المنبثق. لن يتم عرض النافذة المنبثقة إلا إذا تمت إعادة تمكينها.
dispose يخفي العنصر المنبثق ويدمره (يزيل البيانات المخزنة على عنصر DOM). العناصر المنبثقة التي تستخدم التفويض (التي تم إنشاؤها باستخدام الخيارselector ) لا يمكن إتلافها بشكل فردي على عناصر المشغل التابعة .
enable يمنح العنصر المنبثق القدرة على الظهور. يتم تمكين العناصر المنبثقة افتراضيًا.
getInstance طريقة ثابتة تتيح لك الحصول على مثيل منبثق مرتبط بعنصر DOM.
getOrCreateInstance طريقة ثابتة تتيح لك الحصول على مثيل منبثق مرتبط بعنصر DOM ، أو إنشاء مثيل جديد في حالة عدم تهيئته.
hide يخفي العنصر المنبثق. يعود إلى المتصل قبل إخفاء العنصر المنبثق بالفعل (أي قبل hidden.bs.popoverوقوع الحدث). يعتبر هذا بمثابة تشغيل "يدوي" للقافزة المنبثقة.
setContent يعطي طريقة لتغيير محتوى popover بعد تهيئته.
show يكشف عن العنصر المنبثق. يعود إلى المتصل قبل أن يتم عرض العنصر المنبثق بالفعل (أي قبل shown.bs.popoverوقوع الحدث). يعتبر هذا بمثابة تشغيل "يدوي" للقافزة المنبثقة. لا يتم أبدًا عرض العناصر المنبثقة التي يكون عنوانها ومحتواها صفريًا.
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محددًا صالحًا داخل القالب المنبثق ، ويمكن أن تكون كل قيمة خاصية ذات صلة string| element| function| null

الأحداث

حدث وصف
hide.bs.popover يتم تشغيل هذا الحدث فورًا عند hideاستدعاء أسلوب المثيل.
hidden.bs.popover يتم تشغيل هذا الحدث عند انتهاء إخفاء العنصر المنبثق عن المستخدم (سينتظر حتى تكتمل انتقالات CSS).
inserted.bs.popover يتم تشغيل هذا الحدث بعد show.bs.popoverالحدث عند إضافة القالب المنبثق إلى DOM.
show.bs.popover يتم تشغيل هذا الحدث فورًا عند showاستدعاء أسلوب المثيل.
shown.bs.popover يتم تشغيل هذا الحدث عندما يصبح العنصر المنبثق مرئيًا للمستخدم (سينتظر حتى تكتمل انتقالات CSS).
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})