2012-08-30 18 views
15

ऐसा लगता है कि bootstrap demo here आईओएस पर भी काम नहीं करता है। ऐसा लगता है कि आप आईफोन या आईपैड पर किसी आइटम का चयन करने में सक्षम नहीं हैं।आईओएस पर बूटस्ट्रैप बटन ड्रॉपडाउन क्यों नहीं काम करता है?

क्या इसके लिए कोई फिक्स है?

+2

आपके द्वारा निर्दिष्ट बूटस्ट्रैप डेमो मेरे आईफोन पर काम करता है। क्या आप कुछ कोड पोस्ट कर सकते हैं ताकि हम देख सकें कि आपकी समस्या क्या हो सकती है? –

+0

धन्यवाद @WesleyMurch मेरे लिए फिर से पोस्ट करने के लिए। मैं एक उत्तर के गलत उपयोग के लिए क्षमा चाहता हूं, अभी भी एक नौसिखिया। –

+2

ऐसा लगता है कि 2.1.1 संस्करण में एक बग है: https://github.com/twitter/bootstrap/issues/4550 – fguillen

उत्तर

0

आप अपने file.If में एक अनुकूलित jQuery जोड़ने की जरूरत है आपको लगता है कि उसके बाद का उपयोग करना चाहते का उपयोग करें:

<div class="container"> 
    <div class="btn-group lt category_bg"> 
    <p>Adults</p> 
    <button class="btn btn-large" data-toggle="dropdown"><cite>0</cite> <span class="caret"></span></button> 
    <ul class="dropdown-menu "> 
     <li id='adult_0' onClick="flight_user(this.id)"><a href="#" >0</a></li> 
     <li id='adult_1' onClick="flight_user(this.id)"><a href="#" >1</a></li> 
     <li id='adult_2' onClick="flight_user(this.id)"><a href="#" >2</a> </li> 
     <li id='adult_3' onClick="flight_user(this.id)"><a href="#">3</a></li> 
     <li id='adult_4' onClick="flight_user(this.id)"><a href="#">4</a></li> 
    </ul> 
    </div> 

</div> 
<script src="js/jquery.js"></script> 
<script src="js/bootstrap-dropdown.js"></script> 


<script> 
    function flight_user(selected){ 
    var value = jQuery("#" + selected).find('a').text(); 
    jQuery("#" + selected).parent().parent().find('cite').html(value); 
    } 

</script> 

मैं आप दे सकते हैं डेमो रहते हैं इस के लिए अगर आप चाहते हैं

+0

एक्टुलली बूटस्ट्रैप ने केवल ड्रॉपडाउन को चुनने योग्य ड्रॉपडाउन नहीं दिया है। मुझे भी वही समस्या का सामना करना पड़ता है जिसे बीटी नहीं मिला समाधान इसलिए मैंने इसे इस तरह से किया – supersaiyan

+0

वह उत्तर सही नहीं लगता है। मेरे पास एंकर टैग से जुड़ी घटनाएं हैं और वे डेस्कटॉप पर काम करते हैं। आप वस्तुओं की सूची में अतिरिक्त ईवेंट हैंडलर सेट करने का सुझाव दे रहे हैं। तुम जानते हो क्यों? – Roman

+0

देखें मैंने इसे इस तरह से किया है, इसलिए मैं आपको जवाब देता हूं। अगर आपको कुछ बेहतर तरीका मिल गया तो यह बहुत ही गड़बड़ हो गया। अगर आप इसे हल करते हैं तो जवाब पोस्ट करें :-) – supersaiyan

9

वहाँ एक त्वरित है के रूप में GitHub पर इस मुद्दे को टिप्पणियों के कई में उल्लेख किया ठीक करें: https://github.com/twitter/bootstrap/issues/2975#issuecomment-8670606

केवल अपने निकटतम HTML टैग से पहले इस स्क्रिप्ट जोड़ें:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { 
    e.stopPropagation(); 
}); 

मैं दोनों iOS5 और 6 पर उपरोक्त विधि यह एक आकर्षण


तरह काम करता है आप बूटस्ट्रैप जावास्क्रिप्ट आप ऊपर ठीक करने के बजाय, touchstart.dropdown को दूर कर सकता है संशोधित करने के लिए चाहते हैं का परीक्षण किया है। फाइल के निचले भाग के पास clearMenus के लिए एचटीएमएल बाध्यकारी से डेटा-एपीआई।

सिर्फ इस

$('html') 
    .on('click.dropdown.data-api', clearMenus) 
+1

यह एक आकर्षण की तरह काम करता है !! धन्यवाद – man2xxl

+1

क्या यह अभी भी मामला है? – light24bulbs

+2

मुझे अभी भी आईओएस 7 में इस मुद्दे का सामना करना पड़ रहा है..मैं बूटस्ट्रैप 3.3.4 और jQuery 1.11.3 का उपयोग कर रहा हूं .. किसी भी विचार को हल करने का तरीका क्या है? – Lucy

0

यह स्क्रिप्ट को यह

$('html') 
    .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) 

बदल इस समस्या का समाधान। बस इस कोड को जोड़ें

$(document).on('click', 'a.your-drop-down-link', function(event){ 
      event.stopPropagation(); 
      event.preventDefault(); 
      if(event.handled !== true) { 

       if ($(this).parent().hasClass('open')) { 
        $(this).parent().removeClass('open'); 
       }else{ 
        $(this).parent().addClass('open'); 
       } 

       event.handled = true; 
      } else { 
       return false; 
      } 
     }); 
+1

अच्छे उत्तर के लिए कोड क्या करता है कुछ स्पष्टीकरण जोड़ना अच्छा होगा। –

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