मुख्य विषयवस्तु में जाएं डॉक्स नेविगेशन पर जाएं
Check
in English

पोपोवेर्स

आपकी साइट के किसी भी तत्व में बूटस्ट्रैप पॉपओवर जोड़ने के लिए दस्तावेज़ और उदाहरण, जैसे कि iOS में पाए जाने वाले पॉपओवर।

अवलोकन

पॉपओवर प्लगइन का उपयोग करते समय जानने योग्य बातें:

  • पॉपओवर पोजिशनिंग के लिए थर्ड पार्टी लाइब्रेरी पॉपर पर भरोसा करते हैं। आपको पहले popper.min.js शामिल करना होगा bootstrap.js, या एक का उपयोग करना होगा bootstrap.bundle.min.jsजिसमें Popper हो।
  • पॉपओवर को निर्भरता के रूप में पॉपओवर प्लगइन की आवश्यकता होती है ।
  • पॉपओवर प्रदर्शन कारणों से ऑप्ट-इन होते हैं, इसलिए आपको उन्हें स्वयं प्रारंभ करना होगा
  • शून्य-लंबाई titleऔर contentमान कभी भी पॉपओवर नहीं दिखाएंगे।
  • container: 'body'अधिक जटिल घटकों (जैसे हमारे इनपुट समूह, बटन समूह, आदि) में समस्याओं को प्रस्तुत करने से बचने के लिए निर्दिष्ट करें ।
  • छिपे हुए तत्वों पर पॉपओवर ट्रिगर करने से काम नहीं चलेगा।
  • के लिए पॉपओवर .disabledया disabledतत्वों को एक रैपर तत्व पर ट्रिगर किया जाना चाहिए।
  • जब कई पंक्तियों में लपेटने वाले एंकर से ट्रिगर किया जाता है, तो पॉपओवर एंकर की समग्र चौड़ाई के बीच केंद्रित होंगे। इस व्यवहार से बचने के लिए .text-nowrapअपने पर प्रयोग करें ।<a>
  • पॉपओवर को उनके संबंधित तत्वों को DOM से निकालने से पहले छिपाया जाना चाहिए।
  • एक छाया डोम के अंदर एक तत्व के लिए धन्यवाद पॉपओवर को ट्रिगर किया जा सकता है।
डिफ़ॉल्ट रूप से, यह घटक अंतर्निर्मित सामग्री सैनिटाइज़र का उपयोग करता है, जो स्पष्ट रूप से अनुमत HTML तत्वों को हटा देता है। अधिक विवरण के लिए हमारे जावास्क्रिप्ट दस्तावेज़ में सैनिटाइज़र अनुभाग देखें ।
इस घटक का एनीमेशन प्रभाव prefers-reduced-motionमीडिया क्वेरी पर निर्भर है। हमारे एक्सेसिबिलिटी डॉक्यूमेंटेशन का रिड्यूस्ड मोशन सेक्शन देखें ।

कुछ उदाहरणों के साथ पॉपओवर कैसे काम करते हैं, यह देखने के लिए पढ़ते रहें।

उदाहरण

पॉपओवर सक्षम करें

जैसा कि ऊपर उल्लेख किया गया है, आपको पॉपओवर का उपयोग करने से पहले इनिशियलाइज़ करना होगा। किसी पेज पर सभी पॉपओवर को इनिशियलाइज़ करने का एक तरीका यह होगा कि आप उन्हें उनकी 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>

चार दिशाएं

चार विकल्प उपलब्ध हैं: ऊपर, दाएँ, नीचे और बाएँ। आरटीएल में बूटस्ट्रैप का उपयोग करते समय दिशाओं को प्रतिबिंबित किया जाता है। 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'
})

कस्टम पॉपओवर

v5.2.0 . में जोड़ा गया

आप CSS वेरिएबल का उपयोग करके पॉपओवर की उपस्थिति को अनुकूलित कर सकते हैं । data-bs-custom-class="custom-popover"हम अपनी कस्टम उपस्थिति के दायरे के साथ एक कस्टम क्लास सेट करते हैं और कुछ स्थानीय सीएसएस चर को ओवरराइड करने के लिए इसका इस्तेमाल करते हैं।

.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"हैं।

अक्षम पॉपओवर ट्रिगर के लिए, आप यह भी पसंद कर सकते हैं 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>

सीएसएस

चर

v5.2.0 . में जोड़ा गया

बूटस्ट्रैप के विकसित हो रहे सीएसएस चर दृष्टिकोण के हिस्से के रूप में, पॉपओवर अब .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;

प्रयोग

जावास्क्रिप्ट के माध्यम से पॉपओवर सक्षम करें:

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

पॉपओवर को कीबोर्ड और सहायक तकनीकी उपयोगकर्ताओं के लिए कारगर बनाना

कीबोर्ड उपयोगकर्ताओं को आपके पॉपओवर सक्रिय करने की अनुमति देने के लिए, आपको उन्हें केवल HTML तत्वों में जोड़ना चाहिए जो पारंपरिक रूप से कीबोर्ड-फ़ोकस करने योग्य और इंटरैक्टिव (जैसे लिंक या फॉर्म नियंत्रण) हैं। हालांकि मनमाने ढंग से HTML तत्वों (जैसे <span>s) को विशेषता जोड़कर ध्यान देने योग्य बनाया जा सकता है tabindex="0", यह कीबोर्ड उपयोगकर्ताओं के लिए गैर-संवादात्मक तत्वों पर संभावित रूप से कष्टप्रद और भ्रमित करने वाले टैब स्टॉप को जोड़ देगा, और अधिकांश सहायक प्रौद्योगिकियां वर्तमान में इस स्थिति में पॉपओवर की सामग्री की घोषणा नहीं करती हैं। . इसके अतिरिक्त, केवल अपने पॉपओवर के लिए ट्रिगर के रूप में भरोसा न hoverकरें, क्योंकि इससे उन्हें कीबोर्ड उपयोगकर्ताओं के लिए ट्रिगर करना असंभव हो जाएगा।

जब आप विकल्प के साथ पॉपओवर में समृद्ध, संरचित HTML सम्मिलित कर सकते हैं html, तो हम दृढ़ता से अनुशंसा करते हैं कि आप अत्यधिक मात्रा में सामग्री जोड़ने से बचें। aria-describedbyपॉपओवर वर्तमान में जिस तरह से काम करते हैं, वह यह है कि, एक बार प्रदर्शित होने के बाद, उनकी सामग्री विशेषता के साथ ट्रिगर तत्व से जुड़ी होती है । परिणामस्वरूप, पॉपओवर की संपूर्ण सामग्री की घोषणा सहायक प्रौद्योगिकी उपयोगकर्ताओं के लिए एक लंबी, निर्बाध स्ट्रीम के रूप में की जाएगी।

इसके अतिरिक्त, जबकि आपके पॉपओवर में इंटरैक्टिव नियंत्रण (जैसे प्रपत्र तत्व या लिंक) भी शामिल करना संभव है (इन तत्वों को allowListअनुमत विशेषताओं और टैग में जोड़कर), ध्यान रखें कि वर्तमान में पॉपओवर कीबोर्ड फ़ोकस ऑर्डर का प्रबंधन नहीं करता है। जब कोई कीबोर्ड उपयोगकर्ता पॉपओवर खोलता है, तो ट्रिगरिंग तत्व पर ध्यान केंद्रित रहता है, और चूंकि पॉपओवर आमतौर पर दस्तावेज़ की संरचना में ट्रिगर का तुरंत पालन नहीं करता है, इस बात की कोई गारंटी नहीं है कि आगे बढ़ना/दबानाTABकीबोर्ड उपयोगकर्ता को पॉपओवर में ही ले जाएगा। संक्षेप में, बस एक पॉपओवर में इंटरैक्टिव नियंत्रण जोड़ने से इन नियंत्रणों को कीबोर्ड उपयोगकर्ताओं और सहायक तकनीकों के उपयोगकर्ताओं के लिए पहुंच से बाहर/अनुपयोगी बना दिया जा सकता है, या कम से कम एक अतार्किक समग्र फोकस ऑर्डर के लिए बना सकता है। इन मामलों में, इसके बजाय एक मोडल संवाद का उपयोग करने पर विचार करें।

विकल्प

चूंकि विकल्प डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से पारित किए जा सकते हैं, आप विकल्प नाम को में जोड़ सकते हैं data-bs-, जैसा कि में है data-bs-animation="{value}"। डेटा विशेषताओं के माध्यम से विकल्पों को पास करते समय केस प्रकार के विकल्प नाम को " CamelCase " से " कबाब-केस " में बदलना सुनिश्चित करें । उदाहरण के लिए, data-bs-custom-class="beautifier"के बजाय उपयोग करें data-bs-customClass="beautifier"

बूटस्ट्रैप 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 फ़ेड ट्रांज़िशन लागू करें।
boundary स्ट्रिंग, तत्व 'clippingParents' पॉपओवर की ओवरफ्लो बाधा सीमा (केवल पॉपर के रोकथाम ओवरफ्लो संशोधक पर लागू होती है)। डिफ़ॉल्ट रूप से, यह 'clippingParents'HTMLElement संदर्भ (केवल जावास्क्रिप्ट के माध्यम से) स्वीकार कर सकता है और स्वीकार कर सकता है। अधिक जानकारी के लिए पॉपर का डिटेक्ट ओवरफ्लो डॉक्स देखें ।
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'] सरणी में प्लेसमेंट की सूची प्रदान करके (वरीयता के क्रम में) फ़ॉलबैक प्लेसमेंट को परिभाषित करें। अधिक जानकारी के लिए पॉपर के व्यवहार दस्तावेज़ देखें ।
html बूलियन false पॉपओवर में HTML को अनुमति दें। अगर सही है, तो पॉपओवर में HTML टैग्स पॉपओवर titleमें रेंडर किए जाएंगे। यदि गलत है, innerTextतो DOM में सामग्री डालने के लिए संपत्ति का उपयोग किया जाएगा। यदि आप XSS हमलों के बारे में चिंतित हैं तो टेक्स्ट का उपयोग करें।
offset संख्या, स्ट्रिंग, फ़ंक्शन [0, 0] अपने लक्ष्य के सापेक्ष आबादी की भरपाई। आप अल्पविराम से अलग किए गए मानों के साथ डेटा विशेषताओं में एक स्ट्रिंग पास कर सकते हैं जैसे data-bs-offset="10,20":। जब ऑफ़सेट को निर्धारित करने के लिए किसी फ़ंक्शन का उपयोग किया जाता है, तो इसे पॉपर प्लेसमेंट, संदर्भ, और पॉपर रेक्ट्स वाले ऑब्जेक्ट के साथ इसके पहले तर्क के रूप में कहा जाता है। ट्रिगरिंग तत्व DOM नोड को दूसरे तर्क के रूप में पास किया जाता है। फ़ंक्शन को दो संख्याओं के साथ एक सरणी वापस करनी चाहिए: स्किडिंग , दूरी । अधिक जानकारी के लिए पॉपर ऑफ़सेट डॉक्स देखें ।
placement स्ट्रिंग, फ़ंक्शन 'top' पॉपओवर को कैसे पोजिशन करें: ऑटो, टॉप, बॉटम, लेफ्ट, राइट। जब autoनिर्दिष्ट किया जाता है, तो यह पॉपओवर को गतिशील रूप से पुनर्व्यवस्थित करेगा। जब किसी फ़ंक्शन का उपयोग प्लेसमेंट को निर्धारित करने के लिए किया जाता है, तो इसे पॉपओवर DOM नोड को इसके पहले तर्क के रूप में और ट्रिगर करने वाले तत्व DOM नोड को इसके दूसरे के रूप में कहा जाता है। thisसंदर्भ पॉपओवर इंस्टेंस पर सेट है ।
popperConfig शून्य, वस्तु, कार्य null बूटस्ट्रैप के डिफ़ॉल्ट पॉपर कॉन्फिगरेशन को बदलने के लिए, पॉपर का कॉन्फिगरेशन देखें । जब पॉपर कॉन्फ़िगरेशन बनाने के लिए फ़ंक्शन का उपयोग किया जाता है, तो इसे उस ऑब्जेक्ट के साथ बुलाया जाता है जिसमें बूटस्ट्रैप का डिफ़ॉल्ट पॉपर कॉन्फ़िगरेशन होता है। यह आपको अपने स्वयं के कॉन्फ़िगरेशन के साथ डिफ़ॉल्ट का उपयोग और विलय करने में मदद करता है। फ़ंक्शन को पॉपर के लिए कॉन्फ़िगरेशन ऑब्जेक्ट वापस करना होगा।
sanitize बूलियन true स्वच्छता को सक्षम या अक्षम करें। सक्रिय होने 'template'पर, 'content'और 'title'विकल्पों को साफ कर दिया जाएगा।
sanitizeFn शून्य, फ़ंक्शन null यहां आप अपने खुद के सैनिटाइज फंक्शन की आपूर्ति कर सकते हैं। यह उपयोगी हो सकता है यदि आप स्वच्छता के लिए एक समर्पित पुस्तकालय का उपयोग करना पसंद करते हैं।
selector स्ट्रिंग, असत्य false यदि कोई चयनकर्ता प्रदान किया जाता है, तो पॉपओवर ऑब्जेक्ट निर्दिष्ट लक्ष्यों को सौंपे जाएंगे। व्यवहार में, इसका उपयोग गतिशील रूप से जोड़े गए 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'अपने आप पॉपओवर का परिणाम होगा जिसे कीबोर्ड के माध्यम से ट्रिगर नहीं किया जा सकता है, और इसका उपयोग केवल तभी किया जाना चाहिए जब कीबोर्ड उपयोगकर्ताओं के लिए समान जानकारी देने के लिए वैकल्पिक तरीके मौजूद हों।

व्यक्तिगत पॉपओवर के लिए डेटा विशेषताएँ

अलग-अलग पॉपओवर के विकल्प वैकल्पिक रूप से डेटा विशेषताओं के उपयोग के माध्यम से निर्दिष्ट किए जा सकते हैं, जैसा कि ऊपर बताया गया है।

के साथ फ़ंक्शन का उपयोग करनाpopperConfig

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

तरीकों

अतुल्यकालिक तरीके और संक्रमण

सभी एपीआई विधियाँ अतुल्यकालिक हैं और एक संक्रमण शुरू करती हैं । ट्रांज़िशन शुरू होते ही वे कॉलर के पास वापस आ जाते हैं लेकिन उसके समाप्त होने से पहलेइसके अलावा, एक संक्रमण घटक पर एक विधि कॉल को नजरअंदाज कर दिया जाएगा ।

अधिक जानकारी के लिए हमारे जावास्क्रिप्ट दस्तावेज़ देखें

तरीका विवरण
disable किसी तत्व के पॉपओवर को दिखाने की क्षमता को हटा देता है। पॉपओवर केवल तभी दिखाया जा सकेगा जब इसे फिर से सक्षम किया गया हो।
dispose किसी तत्व के पॉपओवर को छुपाता और नष्ट करता है (DOM तत्व पर संग्रहीत डेटा को हटाता है)। डेलिगेशन का उपयोग करने वाले पॉपओवर (जो विकल्प का उपयोग करकेselector बनाए गए हैं ) वंशज ट्रिगर तत्वों पर व्यक्तिगत रूप से नष्ट नहीं किए जा सकते हैं।
enable किसी तत्व के पॉपओवर को दिखाने की क्षमता देता है। पॉपओवर डिफ़ॉल्ट रूप से सक्षम होते हैं।
getInstance स्टेटिक विधि जो आपको DOM तत्व से जुड़े पॉपओवर इंस्टेंस को प्राप्त करने की अनुमति देती है।
getOrCreateInstance स्टेटिक विधि जो आपको DOM तत्व से जुड़े पॉपओवर इंस्टेंस को प्राप्त करने की अनुमति देती है, या यदि इसे प्रारंभ नहीं किया गया था तो एक नया बनाएं।
hide किसी तत्व का पॉपओवर छुपाता है। पॉपओवर से पहले कॉलर को रिटर्न वास्तव में छुपाया गया है (यानी hidden.bs.popoverघटना होने से पहले)। इसे पॉपओवर का "मैनुअल" ट्रिगर माना जाता है।
setContent पॉपओवर के शुरू होने के बाद उसकी सामग्री को बदलने का तरीका देता है।
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एक वैध चयनकर्ता है, और प्रत्येक संबंधित संपत्ति-मूल्य हो सकता है | | | stringstringelementfunctionnull

आयोजन

आयोजन विवरण
hide.bs.popover hideइंस्टेंस विधि को कॉल किए जाने पर इस घटना को तुरंत निकाल दिया जाता है।
hidden.bs.popover यह घटना तब सक्रिय हो जाती है जब पॉपओवर उपयोगकर्ता से छिपा हुआ समाप्त हो जाता है (सीएसएस ट्रांज़िशन पूरा होने की प्रतीक्षा करेगा)।
inserted.bs.popover इस घटना को उस show.bs.popoverघटना के बाद सक्रिय किया जाता है जब पॉपओवर टेम्पलेट को DOM में जोड़ा जाता है।
show.bs.popover showइंस्टेंस विधि को कॉल करने पर यह घटना तुरंत सक्रिय हो जाती है।
shown.bs.popover यह घटना तब सक्रिय होती है जब पॉपओवर उपयोगकर्ता को दिखाई देता है (सीएसएस ट्रांज़िशन पूरा होने की प्रतीक्षा करेगा)।
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})