बुटस्ट्र्याप ड्रपडाउन प्लगइनको साथ लिङ्कहरूको सूची र थप प्रदर्शन गर्नको लागि प्रासंगिक ओभरलेहरू टगल गर्नुहोस्।
अवलोकन
ड्रपडाउनहरू टगल गर्न मिल्ने, लिङ्कहरूको सूची र थप कुराहरू देखाउनका लागि प्रासंगिक ओभरलेहरू छन्। तिनीहरू समावेश बुटस्ट्र्याप ड्रपडाउन JavaScript प्लगइनसँग अन्तरक्रियात्मक बनाइएका छन्। तिनीहरू क्लिक गरेर टगल गरिएका छन्, होभर गरेर होइन; यो एक जानाजानी डिजाइन निर्णय हो ।
ड्रपडाउनहरू तेस्रो पक्षको पुस्तकालय, Popper.js मा बनाइएका छन् , जसले गतिशील स्थिति र भ्यूपोर्ट पत्ता लगाउने सुविधा प्रदान गर्दछ। Bootstrap को JavaScript अघि popper.min.js समावेश गर्न निश्चित हुनुहोस् वा प्रयोग गर्नुहोस् bootstrap.bundle.min.js/ bootstrap.bundle.jsजसमा Popper.js समावेश छ। Popper.js लाई navbars मा ड्रपडाउन राख्न को लागी प्रयोग गरिदैन यद्यपि गतिशील स्थिति आवश्यक छैन।
यदि तपाइँ स्रोतबाट हाम्रो जाभास्क्रिप्ट निर्माण गर्दै हुनुहुन्छ भने, यो आवश्यक छutil.js ।
पहुँच
WAI ARIA मानकले वास्तविक role="menu"विजेट परिभाषित गर्दछ , तर यो कार्य वा कार्यहरू ट्रिगर गर्ने अनुप्रयोग-जस्तै मेनुहरूमा विशिष्ट छ। ARIA मेनुमा मेनु वस्तुहरू, चेकबक्स मेनु वस्तुहरू, रेडियो बटन मेनु वस्तुहरू, रेडियो बटन समूहहरू, र उप-मेनुहरू मात्र समावेश हुन सक्छन्।
अर्कोतर्फ, बुटस्ट्र्यापको ड्रपडाउनहरू जेनेरिक र विभिन्न परिस्थिति र मार्कअप संरचनाहरूमा लागू हुने गरी डिजाइन गरिएका छन्। उदाहरणका लागि, ड्रपडाउनहरू सिर्जना गर्न सम्भव छ जसमा अतिरिक्त इनपुटहरू र फारम नियन्त्रणहरू छन्, जस्तै खोज क्षेत्रहरू वा लगइन फारमहरू। यस कारणका लागि, बुटस्ट्र्यापले साँचो ARIArole मेनुहरूको लागि आवश्यक कुनै पनि र विशेषताहरूको अपेक्षा गर्दैन (न स्वतः थप्नुहोस्) । लेखकहरूले यी थप विशिष्ट विशेषताहरू आफैं समावेश गर्नुपर्नेछ।aria-
यद्यपि, बुटस्ट्र्यापले धेरै मानक किबोर्ड मेनु अन्तरक्रियाहरूको लागि निर्मित समर्थन थप्छ, जस्तै .dropdown-itemकर्सर कुञ्जीहरू प्रयोग गरेर व्यक्तिगत तत्वहरू मार्फत सार्न सक्ने क्षमता र कुञ्जीसँग मेनु बन्द गर्ने क्षमता ESC।
उदाहरणहरू
ड्रपडाउनको टगल (तपाईंको बटन वा लिङ्क) र ड्रपडाउन मेनु भित्र .dropdown, वा घोषणा गर्ने अर्को तत्वलाई बेर्नुहोस् position: relative;। ड्रपडाउनहरू तपाईंको सम्भावित आवश्यकताहरूलाई अझ राम्रोसँग फिट गर्न तत्वहरूबाट <a>ट्रिगर गर्न सकिन्छ ।<button>
एकल बटन
कुनै पनि एकललाई .btnकेही मार्कअप परिवर्तनहरूसँग ड्रपडाउन टगलमा परिणत गर्न सकिन्छ। यहाँ तपाइँ कसरी तिनीहरूलाई कुनै <button>तत्वहरूसँग काम गर्न राख्न सक्नुहुन्छ:
त्यसै गरी, एकल बटन ड्रपडाउनको रूपमा लगभग समान मार्कअपको साथ विभाजित बटन ड्रपडाउनहरू सिर्जना गर्नुहोस्, तर .dropdown-toggle-splitड्रपडाउन क्यारेट वरिपरि उचित स्पेसिङको लागि थपको साथ।
paddingहामी क्यारेटको दुबै छेउमा 25% ले तेर्सो कम गर्न र margin-leftनियमित बटन ड्रपडाउनहरूको लागि थपिएको हटाउन यो अतिरिक्त वर्ग प्रयोग गर्छौं । ती अतिरिक्त परिवर्तनहरूले क्यारेटलाई स्प्लिट बटनमा केन्द्रित राख्छ र मुख्य बटनको छेउमा थप उपयुक्त आकारको हिट क्षेत्र प्रदान गर्दछ।
ऐतिहासिक रूपमा ड्रपडाउन मेनु सामग्रीहरू लिङ्कहरू हुनुपर्छ, तर त्यो अब v4 को मामला छैन। अब तपाइँ वैकल्पिक रूपमा तपाइँको ड्रपडाउनमा केवल s <button>को सट्टा तत्वहरू प्रयोग गर्न सक्नुहुन्छ।<a>
तपाईले गैर-अन्तर्क्रियात्मक ड्रपडाउन वस्तुहरू पनि सिर्जना गर्न सक्नुहुन्छ .dropdown-item-text। आफू अनुकूल CSS वा पाठ उपयोगिताहरूको साथ थप स्टाइल गर्न स्वतन्त्र महसुस गर्नुहोस्।
पूर्वनिर्धारित रूपमा, ड्रपडाउन मेनु स्वचालित रूपमा 100% शीर्षबाट र यसको अभिभावकको बायाँ छेउमा राखिएको छ। ड्रपडाउन मेनुलाई दायाँ पङ्क्तिबद्ध .dropdown-menu-rightगर्न a मा थप्नुहोस् ।.dropdown-menu
हेड अप! ड्रपडाउनहरू Popper.js लाई धन्यवाद (नभबारमा समावेश हुँदा बाहेक) राखिएका छन्।
उत्तरदायी पङ्क्तिबद्धता
यदि तपाइँ उत्तरदायी पङ्क्तिबद्धता प्रयोग गर्न चाहनुहुन्छ भने, विशेषता थपेर गतिशील स्थिति असक्षम data-display="static"गर्नुहोस् र प्रतिक्रियाशील भिन्नता वर्गहरू प्रयोग गर्नुहोस्।
दिइएको ब्रेकपोइन्ट वा ठूलोसँग ड्रपडाउन मेनुलाई दायाँ पङ्क्तिबद्ध गर्न , थप्नुहोस् .dropdown-menu{-sm|-md|-lg|-xl}-right।
दिइएको ब्रेकपोइन्ट वा ठूलोसँग ड्रपडाउन मेनु बायाँ पङ्क्तिबद्ध गर्न , थप्नुहोस् .dropdown-menu-rightर .dropdown-menu{-sm|-md|-lg|-xl}-left।
नोट गर्नुहोस् कि तपाईंले navbars मा ड्रपडाउन बटनहरूमा विशेषता थप्न आवश्यक छैन data-display="static", किनकि Popper.js navbars मा प्रयोग गरिएको छैन।
मेनु सामग्री
हेडरहरू
कुनै पनि ड्रपडाउन मेनुमा कार्यहरूको खण्डहरू लेबल गर्न हेडर थप्नुहोस्।
पाठको साथ ड्रपडाउन मेनु भित्र कुनै पनि फ्रीफर्म पाठ राख्नुहोस् र स्पेसिङ उपयोगिताहरू प्रयोग गर्नुहोस् । ध्यान दिनुहोस् कि मेनुको चौडाइलाई सीमित गर्नको लागि तपाईंलाई सम्भवतः अतिरिक्त साइजिङ शैलीहरू चाहिन्छ।
ड्रपडाउन मेनु भित्र नि:शुल्क प्रवाह गर्ने केही उदाहरण पाठ।
र यो थप उदाहरण पाठ हो।
फारमहरू
ड्रपडाउन मेनु भित्र फारम राख्नुहोस्, वा यसलाई ड्रपडाउन मेनुमा बनाउनुहोस्, र मार्जिन वा प्याडिङ उपयोगिताहरू प्रयोग गर्नुहोस् यसलाई तपाईंलाई आवश्यक पर्ने नकारात्मक ठाउँ दिनको लागि।
डेटा विशेषताहरू वा JavaScript मार्फत, ड्रपडाउन प्लगइनले .showअभिभावक सूची वस्तुमा क्लास टगल गरेर लुकेको सामग्री (ड्रपडाउन मेनु) टगल गर्दछ। data-toggle="dropdown"अनुप्रयोग स्तरमा ड्रपडाउन मेनुहरू बन्द गर्नको लागि विशेषतामा भर परेको छ, त्यसैले यसलाई सधैं प्रयोग गर्नु राम्रो विचार हो ।
टच-सक्षम यन्त्रहरूमा, ड्रपडाउन खोल्दा तत्वको तत्काल बच्चाहरूमा खाली ( $.noop) ह्यान्डलरहरू थपिन्छ। यो स्वीकार्य रूपमा बदसूरत ह्याक आईओएसको घटना प्रतिनिधिमण्डलमा क्वर्कको वरिपरि काम गर्न आवश्यक छ , जसले अन्यथा ड्रपडाउन बन्द गर्ने कोडलाई ट्रिगर गर्नबाट ड्रपडाउन बाहिर कहिँ पनि ट्याप गर्नबाट रोक्छ। ड्रपडाउन बन्द भएपछि, यी अतिरिक्त खाली ह्यान्डलरहरू हटाइन्छ।mouseover<body>mouseover
डाटा विशेषताहरू मार्फत
data-toggle="dropdown"ड्रपडाउन टगल गर्न लिङ्क वा बटनमा थप्नुहोस् ।
जाभास्क्रिप्ट मार्फत
जाभास्क्रिप्ट मार्फत ड्रपडाउनहरू कल गर्नुहोस्:
data-toggle="dropdown"अझै आवश्यक छ
तपाईले आफ्नो ड्रपडाउनलाई JavaScript मार्फत कल गर्नुभएता पनि वा डेटा-एपीआई प्रयोग data-toggle="dropdown"गर्नु भए पनि, ड्रपडाउनको ट्रिगर तत्वमा सधैं उपस्थित हुन आवश्यक छ।
विकल्पहरू
विकल्पहरू डेटा विशेषताहरू वा JavaScript मार्फत पास गर्न सकिन्छ। डेटा विशेषताहरूका लागि, विकल्पको नाम जोड्नुहोस् data-, जस्तै मा data-offset=""।
नाम
टाइप गर्नुहोस्
पूर्वनिर्धारित
विवरण
अफसेट
नम्बर | स्ट्रिङ | समारोह
०
यसको लक्ष्य सापेक्ष ड्रपडाउन को अफसेट।
जब एक प्रकार्य अफसेट निर्धारण गर्न प्रयोग गरिन्छ, यसलाई पहिलो तर्कको रूपमा अफसेट डेटा समावेश गरिएको वस्तुसँग बोलाइन्छ। प्रकार्यले एउटै संरचना भएको वस्तु फिर्ता गर्नुपर्छ। ट्रिगर गर्ने तत्व DOM नोड दोस्रो तर्कको रूपमा पारित गरिएको छ।
सन्दर्भ तत्वमा ओभरल्यापिङको अवस्थामा ड्रपडाउनलाई फ्लिप गर्न अनुमति दिनुहोस्। थप जानकारीको लागि Popper.js को फ्लिप कागजातहरू हेर्नुहोस् ।
सीमा
स्ट्रिङ | तत्व
'स्क्रोल अभिभावक'
ड्रपडाउन मेनुको ओभरफ्लो अवरोध सीमा। 'viewport', 'window', 'scrollParent', वा HTMLElement सन्दर्भ (जाभास्क्रिप्ट मात्र) को मानहरू स्वीकार गर्दछ । थप जानकारीको लागि Popper.js को preventOverflow कागजातहरू हेर्नुहोस् ।
सन्दर्भ
स्ट्रिङ | तत्व
'टगल'
ड्रपडाउन मेनुको सन्दर्भ तत्व। 'toggle', 'parent'वा HTMLElement सन्दर्भ को मानहरू स्वीकार गर्दछ । थप जानकारीको लागि Popper.js को सन्दर्भ वस्तु कागजातहरू हेर्नुहोस् ।
प्रदर्शन
तार
'गतिशील'
पूर्वनिर्धारित रूपमा, हामी गतिशील स्थितिको लागि Popper.js प्रयोग गर्छौं। यसलाई असक्षम पार्नुहोस् static।
नोट गर्नुहोस् जब boundaryबाहेक कुनै पनि मानमा सेट गरिन्छ 'scrollParent', शैली कन्टेनरमा position: staticलागू हुन्छ ।.dropdown
विधिहरू
विधि
विवरण
$().dropdown('toggle')
दिइएको नेभबार वा ट्याब गरिएको नेभिगेसनको ड्रपडाउन मेनुलाई टगल गर्दछ।
$().dropdown('show')
दिइएको नेभबार वा ट्याब गरिएको नेभिगेसनको ड्रपडाउन मेनु देखाउँछ।
$().dropdown('hide')
दिइएको नेभबार वा ट्याब गरिएको नेभिगेसनको ड्रपडाउन मेनु लुकाउँछ।
$().dropdown('update')
तत्वको ड्रपडाउनको स्थिति अपडेट गर्दछ।
$().dropdown('dispose')
तत्वको ड्रपडाउन नष्ट गर्दछ।
घटनाहरू
सबै ड्रपडाउन घटनाहरू .dropdown-menu'पैरेन्ट एलिमेन्ट' मा फायर गरिएका छन् र एउटा relatedTargetगुण छ, जसको मान टगलिङ एङ्कर एलिमेन्ट हो। hide.bs.dropdownर hidden.bs.dropdownघटनाहरूमा एउटा clickEventगुण हुन्छ (जब मूल घटना प्रकार हुन्छ click) जसमा क्लिक घटनाको लागि घटना वस्तु समावेश हुन्छ।
घटना
विवरण
show.bs.dropdown
शो उदाहरण विधि कल गर्दा यो घटना तुरुन्तै सक्रिय हुन्छ।
shown.bs.dropdown
ड्रपडाउन प्रयोगकर्ताको लागि दृश्यात्मक बनाइएपछि यो घटना निकालिन्छ (CSS ट्रान्जिसनहरू पूरा हुनको लागि पर्खनेछ)।
hide.bs.dropdown
लुकाउने उदाहरण विधि कल गर्दा यो घटना तुरुन्तै निकालिन्छ।
hidden.bs.dropdown
ड्रपडाउन प्रयोगकर्ताबाट लुकेको समाप्त भएपछि यो घटना निकालिन्छ (CSS ट्रान्जिसनहरू पूरा हुनको लागि पर्खनेछ)।