मेरे पास कुछ सरल जेएस है जो ब्राउज़र की चौड़ाई के आधार पर एचटीएमएल को हटाता या जोड़ता है। यदि यह मोबाइल में है तो विशेषता data-hover
हटा दी जानी चाहिए। यदि चौड़ाई डेस्कटॉप में है, तो विशेषता जोड़ा जाना चाहिए।मोबाइल और डेस्कटॉप के बीच ड्रॉपडाउन पर होवर टॉगल करना
अब तक यह बहुत अच्छा काम करता है, लेकिन समस्या यह है कि बूटस्ट्रैप यह नहीं पहचानता कि data-hover
हटा दिया गया है। ड्रॉपडाउन अभी भी बंद हो जाता है जब उपयोगकर्ता का माउस ड्रॉपडाउन छोड़ देता है। स्पष्ट होने के लिए, जब ड्रॉप विंडो की चौड़ाई 768px से नीचे होती है तो उपयोगकर्ता ड्रॉप डाउन छोड़ देता है जब ड्रॉपडाउन खुला रहता है।
क्या गलत है और मैं इसे कैसे ठीक करूं? विशेषता पूरी तरह से दूर करने के
जे एस
$(document).ready(function() {
$(window).resize(function() {
if ($(window).width() < 768) {
$('.dropdown-toggle').removeAttr('data-hover');
} else {
$('.dropdown-toggle').attr('data-hover', 'dropdown');
}
});
});
एचटीएमएल
<a class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown" role="menu" aria-expanded="false" href="/courses">
Courses
</a>
<ul class="dropdown-menu courses-dropdown">
<li>hello</li>
</ul>
डेटा-होवर वास्तव में क्या करता है? –
यह जांचें http://stackoverflow.com/questions/25089297/twitter-bootstrap-avoid-dropdown-menu-close-on-click-inside – Molda