2012-06-18 17 views
8

होवर पर दिखाई देने के लिए क्लिक पर दिखाई देने से ट्विटर बूटस्ट्रैप के ड्रॉपडाउन को बदलने के तरीके पर कई प्रश्न/उत्तर हैं। बूटस्ट्रैप के बिल्डर्स के पास होवर के बजाय क्लिक का उपयोग करने का एक अच्छा कारण है - होवर अधिकांश टैबलेट & फ़ोन पर काम नहीं करता है। हालांकि, बूटस्ट्रैप का उपयोग करने के कारणों में से एक कारण इसकी उत्तरदायी विशेषताओं के लिए है। मुझे एक साइट चाहिए जो डेस्कटॉप, टैबलेट और फोन पर देखी जा सके। हालांकि टैबलेट और फोन के लिए ड्रॉपडाउन प्राप्त करने के लिए क्लिक करना आवश्यक है, यह डेस्कटॉप के लिए अपेक्षित व्यवहार नहीं है। मैं चाहता हूं कि मेरी साइट उत्तरदायी हो, लेकिन उपयोगकर्ताओं को पुनः प्रशिक्षित करने की कीमत पर नहीं!ट्विटर बूटस्ट्रैप: डेस्कटॉप के लिए ड्रॉपडाउन मेनू होवर, टेबलेट/फ़ोन के लिए क्लिक करें?

वहाँ डेस्कटॉप के लिए मंडराना ड्रॉपडाउन सेवा और टेबलेट और फ़ोन के ड्रॉपडाउन क्लिक करने के लिए कोई तरीका है?

उत्तर

2

आप "उत्तरदायी उपयोगिता वर्गों"

पेज

+1

दरअसल, उत्तरदायी उपयोगिता वर्गों का उपयोग करके, यह मेरे पास है करने के लिए होता रहा है मेरे मेनू के दो अलग संस्करण। कोई फोन/टैबलेट के लिए दिखाएगा, और एक डेस्कटॉप के लिए दिखाएगा। आदर्श रूप से, मुझे केवल एक मेनू चाहिए। –

+0

@TonyaAbna आप यह http://jsfiddle.net/baptme/gRVUq/1/ कर सकते हैं लेकिन आपको दूसरे क्लिक पर ड्रॉपडाउन को बंद करने के लिए कुछ jQuery की आवश्यकता होगी। – baptme

+0

बपतिस्मा, मुझे यकीन नहीं है कि मैं आपका जवाब समझता हूं। मैं देखता हूं कि आपने क्लिक के बजाय होवर पर ड्रॉपडाउन काम कैसे किया है, लेकिन मैं ऐसे समाधान की तलाश में हूं जो डेस्कटॉप के लिए होवर कर सकता है और फोन/टैबलेट के लिए क्लिक कर सकता है। क्या मैं आपके डेमो में कुछ खो रहा हूँ? खाली क्लिक फ़ंक्शन क्या करता है? –

4

मैं एक प्लगइन बनाया के तल पर http://twitter.github.com/bootstrap/scaffolding.html (एक जोड़े शोधन पर काम कर रहा है, लेकिन यह निश्चित रूप से के रूप में है काम करता है) ड्रॉपडाउन काम करने के लिए अनुमति देता है के साथ कर सकते हैं होवर पर, लेकिन यह ट्विटर बूटस्ट्रैप के क्लिक इवेंट में हस्तक्षेप नहीं करता है, इसलिए आप दोनों को सुरक्षित रूप से बाध्य कर सकते हैं, जिसका अर्थ है कि माउस होने पर इसका मतलब है, यह होवर पर सक्रिय होगा, लेकिन यदि कोई माउस नहीं है (यानी टैबलेट पर टचस्क्रीन), यह तब भी सक्रिय होगा जब क्लिक किया जाएगा।

मैं प्लगइन GitHub पर होस्ट किया गया: https://github.com/CWSpear/twitter-bootstrap-hover-dropdown

यह स्पष्ट रूप से इसे फोन करके काम करता है, लेकिन मुझे लगता है कि निकट भविष्य में डेटा-विशेषताओं के साथ काम करने के लिए कोड में और सुधार करने के लिए जा रहा हूँ।

+1

CWSpear: आपकी प्लगइन अद्भुत/स्थापित करने के लिए बेहद आसान और सुपर काम करती है। वास्तव में आप इसे साझा करने की सराहना करते हैं। धन्यवाद! ~ सुसान – susan

+0

यह बहुत अच्छा है ..और आसान @CWSpear –

1

मैं इसके लिए बिल्कुल खोज रहा था। और मुझे बेहतर समाधान मिला है (मुझे लगता है)। हम आसानी से भयानक Modernizr.js लाइब्रेरी का उपयोग करके ऐसा कर सकते हैं। हम नीचे दिए गए फ़ंक्शन द्वारा टच स्क्रीन डिवाइस का पता लगा सकते हैं।

function is_touch_device() { 
    return !!('ontouchstart' in window); 
} 

और फिर हम Javascript के माध्यम से गतिशील रूप से या तो स्थान के लिए "#" को बदल कर या माता पिता मेनू आइटम के डिफ़ॉल्ट कार्रवाई रोकने के द्वारा हाइपरलिंक में URL अक्षम हो सकता है। अंतिम कोड नीचे दिया जाएगा।

अधिक जानकारी के लिए, आप देख सकते this link मेरा मानना ​​है कि है कोई मुझे यूपी मतदान करेंगे :-)

धन्यवाद

+0

आपका समाधान Modernizr.js लाइब्रेरी के साथ बहुत कुछ नहीं लगता है ... ऐसा लगता है कि यह jQuery के साथ लगभग वर्बैटिम भी काम करेगा। (संपादित करें: लाइब्रेरी नाम में टाइपो) –

संबंधित मुद्दे