टूलटिप्स
स्थानीय शीर्षक भंडारण के लिए एनिमेशन और डेटा-बीएस-विशेषताओं के लिए CSS3 का उपयोग करके सीएसएस और जावास्क्रिप्ट के साथ कस्टम बूटस्ट्रैप टूलटिप्स जोड़ने के लिए दस्तावेज़ीकरण और उदाहरण।
अवलोकन
टूलटिप प्लगइन का उपयोग करते समय जानने योग्य बातें:
- टूलटिप्स स्थिति निर्धारण के लिए तृतीय पक्ष लाइब्रेरी पॉपर पर निर्भर हैं । आपको बूटस्ट्रैप.जेएस से पहले popper.min.js को शामिल करना चाहिए या टूलटिप्स के काम करने के लिए
bootstrap.bundle.min.js
/bootstrap.bundle.js
जिसमें पॉपर शामिल है, का उपयोग करना चाहिए! - टूलटिप्स प्रदर्शन कारणों से ऑप्ट-इन हैं, इसलिए आपको उन्हें स्वयं प्रारंभ करना होगा ।
- शून्य-लंबाई वाले शीर्षक वाले टूलटिप्स कभी प्रदर्शित नहीं होते हैं।
container: 'body'
अधिक जटिल घटकों (जैसे हमारे इनपुट समूह, बटन समूह, आदि) में समस्याओं को प्रस्तुत करने से बचने के लिए निर्दिष्ट करें ।- छिपे हुए तत्वों पर टूलटिप्स ट्रिगर करने से काम नहीं चलेगा।
- के लिए टूलटिप्स
.disabled
याdisabled
तत्वों को एक रैपर तत्व पर ट्रिगर किया जाना चाहिए। - जब कई पंक्तियों में फैले हाइपरलिंक से ट्रिगर किया जाता है, तो टूलटिप्स केंद्रित हो जाएंगे। इस व्यवहार से बचने के लिए
white-space: nowrap;
अपने पर प्रयोग करें ।<a>
- डीओएम से संबंधित तत्वों को हटाने से पहले टूलटिप्स को छुपाया जाना चाहिए।
- एक छाया डोम के अंदर एक तत्व के लिए टूलटिप्स को ट्रिगर किया जा सकता है।
prefers-reduced-motion
मीडिया क्वेरी पर निर्भर है। हमारे एक्सेसिबिलिटी डॉक्यूमेंटेशन का रिड्यूस्ड मोशन सेक्शन देखें
।
वह सब मिल गया? बढ़िया, आइए देखें कि वे कुछ उदाहरणों के साथ कैसे काम करते हैं।
उदाहरण: हर जगह टूलटिप्स सक्षम करें
किसी पृष्ठ पर सभी टूलटिप्स को प्रारंभ करने का एक तरीका यह होगा कि उन्हें उनकी data-bs-toggle
विशेषता के आधार पर चुना जाए:
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
उदाहरण
टूलटिप्स देखने के लिए नीचे दिए गए लिंक पर होवर करें:
टूलटिप्स के साथ कुछ इनलाइन लिंक प्रदर्शित करने के लिए प्लेसहोल्डर टेक्स्ट । यह अब सिर्फ भराव है, हत्यारा नहीं। सामग्री यहां केवल वास्तविक पाठ की उपस्थिति की नकल करने के लिए रखी गई है । और यह सब सिर्फ आपको यह अंदाजा लगाने के लिए है कि वास्तविक दुनिया की स्थितियों में उपयोग किए जाने पर टूलटिप्स कैसे दिखेंगे। तो उम्मीद है कि अब आप देख चुके हैं कि लिंक पर ये टूलटिप्स व्यवहार में कैसे काम कर सकते हैं, एक बार जब आप उन्हें अपनी साइट या प्रोजेक्ट पर उपयोग कर लेते हैं।
चार टूलटिप्स दिशा-निर्देश देखने के लिए नीचे दिए गए बटनों पर होवर करें: ऊपर, दाएँ, नीचे और बाएँ। आरटीएल में बूटस्ट्रैप का उपयोग करते समय दिशाओं को प्रतिबिंबित किया जाता है।
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="right" title="Tooltip on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="left" title="Tooltip on left">
Tooltip on left
</button>
और कस्टम HTML के साथ जोड़ा गया:
<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
एक एसवीजी के साथ:
सास
चर
$tooltip-font-size: $font-size-sm;
$tooltip-max-width: 200px;
$tooltip-color: $white;
$tooltip-bg: $black;
$tooltip-border-radius: $border-radius;
$tooltip-opacity: .9;
$tooltip-padding-y: $spacer * .25;
$tooltip-padding-x: $spacer * .5;
$tooltip-margin: 0;
$tooltip-arrow-width: .8rem;
$tooltip-arrow-height: .4rem;
$tooltip-arrow-color: $tooltip-bg;
प्रयोग
टूलटिप प्लगइन मांग पर सामग्री और मार्कअप उत्पन्न करता है, और डिफ़ॉल्ट रूप से टूलटिप्स को उनके ट्रिगर तत्व के बाद रखता है।
जावास्क्रिप्ट के माध्यम से टूलटिप को ट्रिगर करें:
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, options)
अतिप्रवाह auto
औरscroll
टूलटिप स्थिति अपने आप बदलने का प्रयास करती है जब किसी पैरेंट कंटेनर में हमारा overflow: auto
या overflow: scroll
पसंद होता है .table-responsive
, लेकिन फिर भी मूल प्लेसमेंट की स्थिति बनी रहती है। इसे हल करने के लिए, डिफ़ॉल्ट मान को ओवरराइड करने के लिए किसी भी HTMLElement पर boundary
विकल्प (विकल्प का उपयोग करके फ्लिप संशोधक के लिए ) सेट करें , जैसे :popperConfig
'clippingParents'
document.body
var exampleEl = document.getElementById('example')
var tooltip = new bootstrap.Tooltip(exampleEl, {
boundary: document.body // or document.querySelector('#boundary')
})
मार्कअप
टूलटिप के लिए आवश्यक मार्कअप केवल एक data
विशेषता है और title
HTML तत्व पर आप टूलटिप रखना चाहते हैं। टूलटिप का उत्पन्न मार्कअप अपेक्षाकृत सरल है, हालांकि इसके लिए एक स्थिति की आवश्यकता होती है (डिफ़ॉल्ट रूप से, top
प्लगइन द्वारा सेट)।
टूलटिप्स को कीबोर्ड और सहायक प्रौद्योगिकी उपयोगकर्ताओं के लिए काम करना
आपको HTML तत्वों में केवल टूलटिप्स जोड़नी चाहिए जो परंपरागत रूप से कीबोर्ड-फ़ोकस करने योग्य और इंटरैक्टिव (जैसे लिंक या फ़ॉर्म नियंत्रण) हैं। यद्यपि मनमाने ढंग से HTML तत्वों (जैसे <span>
s) को विशेषता जोड़कर ध्यान देने योग्य बनाया जा सकता है tabindex="0"
, यह कीबोर्ड उपयोगकर्ताओं के लिए गैर-संवादात्मक तत्वों पर संभावित रूप से कष्टप्रद और भ्रमित करने वाले टैब स्टॉप को जोड़ देगा, और अधिकांश सहायक प्रौद्योगिकियां वर्तमान में इस स्थिति में टूलटिप की घोषणा नहीं करती हैं। hover
इसके अतिरिक्त, केवल अपने टूलटिप के लिए ट्रिगर के रूप में भरोसा न करें, क्योंकि यह आपके टूलटिप्स को कीबोर्ड उपयोगकर्ताओं के लिए ट्रिगर करना असंभव बना देगा।
<!-- HTML to write -->
<a href="#" data-bs-toggle="tooltip" title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
</div>
अक्षम तत्व
विशेषता वाले तत्व disabled
इंटरैक्टिव नहीं हैं, जिसका अर्थ है कि उपयोगकर्ता फ़ोकस नहीं कर सकते, होवर नहीं कर सकते, या टूलटिप (या पॉपओवर) को ट्रिगर करने के लिए उन पर क्लिक नहीं कर सकते। वर्कअराउंड के रूप में, आप टूलटिप को एक रैपर से ट्रिगर करना चाहेंगे <div>
या <span>
, आदर्श रूप से कीबोर्ड-फोकस करने योग्य का उपयोग करके tabindex="0"
।
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>
विकल्प
विकल्प डेटा विशेषताओं या जावास्क्रिप्ट के माध्यम से पारित किए जा सकते हैं। डेटा विशेषताओं के लिए, विकल्प नाम को में जोड़ें data-bs-
, जैसा कि में है data-bs-animation=""
। डेटा विशेषताओं के माध्यम से विकल्पों को पास करते समय विकल्प नाम के केस प्रकार को कैमलकेस से कबाब-केस में बदलना सुनिश्चित करें। उदाहरण के लिए, उपयोग करने के बजाय data-bs-customClass="beautifier"
, उपयोग करें data-bs-custom-class="beautifier"
।
sanitize
,
sanitizeFn
, और
विकल्पों की आपूर्ति नहीं की जा सकती है।allowList
नाम | टाइप | चूक | विवरण |
---|---|---|---|
animation |
बूलियन | true |
टूलटिप पर CSS फ़ेड ट्रांज़िशन लागू करें |
container |
स्ट्रिंग | तत्व | असत्य | false |
टूलटिप को एक विशिष्ट तत्व में जोड़ता है। उदाहरण |
delay |
संख्या | वस्तु | 0 |
टूलटिप (एमएस) दिखाने और छिपाने में देरी - मैन्युअल ट्रिगर प्रकार पर लागू नहीं होती है यदि एक नंबर की आपूर्ति की जाती है, तो देरी को छिपाने/दिखाने दोनों पर लागू किया जाता है वस्तु संरचना है: |
html |
बूलियन | false |
टूलटिप में HTML को अनुमति दें। अगर सही है, तो टूलटिप में HTML टैग्स टूलटिप यदि आप XSS हमलों के बारे में चिंतित हैं तो टेक्स्ट का उपयोग करें। |
placement |
स्ट्रिंग | समारोह | 'top' |
टूलटिप की स्थिति कैसे बनाएं - ऑटो | शीर्ष | नीचे | बाएं | सही। जब किसी फ़ंक्शन का उपयोग प्लेसमेंट को निर्धारित करने के लिए किया जाता है, तो इसे टूलटिप DOM नोड को इसके पहले तर्क के रूप में और ट्रिगर करने वाले तत्व DOM नोड को इसके दूसरे के रूप में कहा जाता है। |
selector |
स्ट्रिंग | असत्य | false |
यदि कोई चयनकर्ता प्रदान किया जाता है, तो टूलटिप ऑब्जेक्ट निर्दिष्ट लक्ष्यों को सौंपे जाएंगे। व्यवहार में, इसका उपयोग गतिशील रूप से जोड़े गए DOM तत्वों ( jQuery.on समर्थन) के लिए टूलटिप्स को लागू करने के लिए भी किया जाता है। इसे और एक सूचनात्मक उदाहरण देखें । |
template |
डोरी | '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' |
टूलटिप बनाते समय उपयोग के लिए आधार HTML। टूलटिप
सबसे बाहरी आवरण तत्व में |
title |
स्ट्रिंग | तत्व | समारोह | '' |
डिफ़ॉल्ट शीर्षक मान यदि यदि कोई फ़ंक्शन दिया जाता है, तो उसे उस तत्व के संदर्भ सेट के साथ बुलाया जाएगा, |
trigger |
डोरी | 'hover focus' |
टूलटिप कैसे ट्रिगर होता है - क्लिक करें | होवर | फोकस | नियमावली। आप कई ट्रिगर पास कर सकते हैं; उन्हें एक स्थान से अलग करें।
|
fallbackPlacements |
सरणी | ['top', 'right', 'bottom', 'left'] |
सरणी (वरीयता के क्रम में) में प्लेसमेंट की सूची प्रदान करके फ़ॉलबैक प्लेसमेंट को परिभाषित करें। अधिक जानकारी के लिए पॉपर के व्यवहार दस्तावेज़ देखें |
boundary |
स्ट्रिंग | तत्व | 'clippingParents' |
टूलटिप की ओवरफ्लो बाधा सीमा (केवल पॉपर के रोकथाम ओवरफ्लो संशोधक पर लागू होती है)। डिफ़ॉल्ट रूप से यह 'clippingParents' HTMLElement संदर्भ (केवल जावास्क्रिप्ट के माध्यम से) स्वीकार कर सकता है और स्वीकार कर सकता है। अधिक जानकारी के लिए पॉपर का डिटेक्ट ओवरफ्लो डॉक्स देखें । |
customClass |
स्ट्रिंग | समारोह | '' |
दिखाए जाने पर टूलटिप में कक्षाएं जोड़ें। ध्यान दें कि इन वर्गों को टेम्पलेट में निर्दिष्ट किसी भी वर्ग के अतिरिक्त जोड़ा जाएगा। अनेक वर्ग जोड़ने के लिए, उन्हें रिक्त स्थान से अलग करें: आप एक फ़ंक्शन भी पास कर सकते हैं जो अतिरिक्त वर्ग नामों वाली एक स्ट्रिंग को वापस कर दे। |
sanitize |
बूलियन | true |
स्वच्छता को सक्षम या अक्षम करें। सक्रिय होने पर 'template' और 'title' विकल्पों को सैनिटाइज किया जाएगा। हमारे जावास्क्रिप्ट दस्तावेज़ में सैनिटाइज़र अनुभाग देखें । |
allowList |
वस्तु | डिफ़ॉल्ट मान | ऑब्जेक्ट जिसमें अनुमत विशेषताएँ और टैग शामिल हैं |
sanitizeFn |
शून्य | समारोह | null |
यहां आप अपने खुद के सैनिटाइज फंक्शन की आपूर्ति कर सकते हैं। यह उपयोगी हो सकता है यदि आप स्वच्छता के लिए एक समर्पित पुस्तकालय का उपयोग करना पसंद करते हैं। |
offset |
सरणी | स्ट्रिंग | समारोह | [0, 0] |
अपने लक्ष्य के सापेक्ष टूलटिप की ऑफसेट। आप अल्पविराम से अलग किए गए मानों के साथ डेटा विशेषताओं में एक स्ट्रिंग पास कर सकते हैं जैसे: जब ऑफ़सेट को निर्धारित करने के लिए किसी फ़ंक्शन का उपयोग किया जाता है, तो इसे पॉपर प्लेसमेंट, संदर्भ, और पॉपर रेक्ट्स वाले ऑब्जेक्ट के साथ इसके पहले तर्क के रूप में कहा जाता है। ट्रिगर करने वाला तत्व DOM नोड को दूसरे तर्क के रूप में पास किया जाता है। फ़ंक्शन को दो संख्याओं के साथ एक सरणी वापस करनी होगी: . अधिक जानकारी के लिए पॉपर ऑफ़सेट डॉक्स देखें । |
popperConfig |
शून्य | वस्तु | समारोह | null |
बूटस्ट्रैप के डिफ़ॉल्ट पॉपर कॉन्फिगरेशन को बदलने के लिए, पॉपर का कॉन्फिगरेशन देखें । जब पॉपर कॉन्फ़िगरेशन बनाने के लिए फ़ंक्शन का उपयोग किया जाता है, तो इसे उस ऑब्जेक्ट के साथ बुलाया जाता है जिसमें बूटस्ट्रैप का डिफ़ॉल्ट पॉपर कॉन्फ़िगरेशन होता है। यह आपको अपने स्वयं के कॉन्फ़िगरेशन के साथ डिफ़ॉल्ट का उपयोग और विलय करने में मदद करता है। फ़ंक्शन को पॉपर के लिए कॉन्फ़िगरेशन ऑब्जेक्ट वापस करना होगा। |
व्यक्तिगत टूलटिप्स के लिए डेटा विशेषताएँ
अलग-अलग टूलटिप्स के विकल्प वैकल्पिक रूप से डेटा विशेषताओं के उपयोग के माध्यम से निर्दिष्ट किए जा सकते हैं, जैसा कि ऊपर बताया गया है।
के साथ फ़ंक्शन का उपयोग करनाpopperConfig
var tooltip = new bootstrap.Tooltip(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
// use defaultBsPopperConfig if needed...
// return newPopperConfig
}
})
तरीकों
अतुल्यकालिक तरीके और संक्रमण
सभी एपीआई विधियाँ अतुल्यकालिक हैं और एक संक्रमण शुरू करती हैं । ट्रांज़िशन शुरू होते ही वे कॉलर के पास वापस आ जाते हैं लेकिन उसके समाप्त होने से पहले । इसके अलावा, एक संक्रमण घटक पर एक विधि कॉल को नजरअंदाज कर दिया जाएगा ।
प्रदर्शन
किसी तत्व के टूलटिप को प्रकट करता है। टूलटिप के वास्तव में दिखाए जाने से पहले कॉलर को लौटाता है (अर्थात shown.bs.tooltip
घटना घटित होने से पहले)। इसे टूलटिप का "मैनुअल" ट्रिगर माना जाता है। शून्य-लंबाई वाले शीर्षक वाले टूलटिप्स कभी प्रदर्शित नहीं होते हैं।
tooltip.show()
छिपाना
किसी तत्व के टूलटिप को छुपाता है। टूलटिप के वास्तव में छुपाए जाने से पहले कॉलर पर वापस आ जाता है (अर्थात hidden.bs.tooltip
घटना होने से पहले)। इसे टूलटिप का "मैनुअल" ट्रिगर माना जाता है।
tooltip.hide()
टॉगल
किसी तत्व के टूलटिप को टॉगल करता है। टूलटिप को वास्तव में दिखाया या छुपाया गया है (यानी घटना shown.bs.tooltip
या hidden.bs.tooltip
घटना होने से पहले) कॉल करने वाले पर वापस आ जाता है। इसे टूलटिप का "मैनुअल" ट्रिगर माना जाता है।
tooltip.toggle()
निपटाने
किसी तत्व के टूलटिप को छुपाता और नष्ट करता है (DOM तत्व पर संग्रहीत डेटा को हटाता है)। डेलिगेशन का उपयोग करने वाले टूलटिप्स (जो विकल्प का उपयोग करकेselector
बनाए गए हैं ) को डिसेंडेंट ट्रिगर तत्वों पर व्यक्तिगत रूप से नष्ट नहीं किया जा सकता है।
tooltip.dispose()
सक्षम करना
किसी तत्व के टूलटिप को दिखाने की क्षमता देता है। टूलटिप्स डिफ़ॉल्ट रूप से सक्षम हैं।
tooltip.enable()
बंद करना
किसी तत्व के टूलटिप को दिखाने की क्षमता को हटा देता है। टूलटिप को केवल तभी दिखाया जा सकेगा जब इसे पुन: सक्षम किया गया हो।
tooltip.disable()
टॉगल सक्षम
किसी तत्व के टूलटिप को दिखाने या छिपाने की क्षमता को टॉगल करता है।
tooltip.toggleEnabled()
अपडेट करें
किसी तत्व के टूलटिप की स्थिति को अपडेट करता है।
tooltip.update()
दृष्टांत लो
स्टेटिक विधि जो आपको DOM तत्व से जुड़े टूलटिप इंस्टेंस प्राप्त करने की अनुमति देती है
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
getOrCreateInstance
स्टेटिक विधि जो आपको DOM तत्व से जुड़े टूलटिप इंस्टेंस प्राप्त करने की अनुमति देती है, या यदि इसे प्रारंभ नहीं किया गया था तो एक नया बनाएं
var exampleTriggerEl = document.getElementById('example')
var tooltip = bootstrap.Tooltip.getOrCreateInstance(exampleTriggerEl) // Returns a Bootstrap tooltip instance
आयोजन
घटना प्रकार | विवरण |
---|---|
show.bs.tooltip |
show इंस्टेंस विधि को कॉल करने पर यह घटना तुरंत सक्रिय हो जाती है। |
shown.bs.tooltip |
इस घटना को तब सक्रिय किया जाता है जब टूलटिप को उपयोगकर्ता के लिए दृश्यमान बना दिया जाता है (सीएसएस संक्रमणों के पूरा होने की प्रतीक्षा करेगा)। |
hide.bs.tooltip |
hide इंस्टेंस विधि को कॉल किए जाने पर इस घटना को तुरंत निकाल दिया जाता है। |
hidden.bs.tooltip |
यह घटना तब सक्रिय हो जाती है जब टूलटिप उपयोगकर्ता से छिपा हुआ समाप्त हो जाता है (सीएसएस संक्रमणों के पूरा होने की प्रतीक्षा करेगा)। |
inserted.bs.tooltip |
यह घटना उस show.bs.tooltip घटना के बाद सक्रिय हो जाती है जब टूलटिप टेम्पलेट को DOM में जोड़ा जाता है। |
var myTooltipEl = document.getElementById('myTooltip')
var tooltip = new bootstrap.Tooltip(myTooltipEl)
myTooltipEl.addEventListener('hidden.bs.tooltip', function () {
// do something...
})
tooltip.hide()