2011-09-02 14 views
20

मुझे एक चेकबॉक्स मिला है जिसे मैं पृष्ठ पर छिपाना चाहता हूं।स्टाइलिंग तत्व से jquery मोबाइल को रोकें

<input type='checkbox' style='display:none' /> 

हालांकि, मैंने देखा jQuery मोबाइल स्वतः एक div कि इस तरह दिखता है में चेकबॉक्स लपेटता:: मेरा स्पष्ट पहला प्रयास निम्नलिखित था

<div class='ui-checkbox'> 
    <input type='checkbox' style='display:none;' /> 
</div> 

मैं ग्रहण करेंगे वहाँ data- तत्व किसी तरह का है कि जो इस अतिरिक्त स्टाइल को रोक देगा, लेकिन इसे दस्तावेज़ों या अन्य जगहों में नहीं मिला है। सीएसएस में इसे छिपाने के लिए .ui-checkbox को ओवरराइड करना भी आसान है, लेकिन यह एक और अधिक jQuery-मानक दृष्टिकोण पसंद करेगा। क्या ऐसी किसी वस्तु का अस्तित्व है?

उत्तर

60

विशेषता है कि स्टाइल से बचाता है data-role="none"

<input type='checkbox' style='display:none' data-role="none" /> 

Jquery doc देखें: "रोकथाम प्रपत्र तत्वों की स्वत: प्रारंभ"

+1

अच्छा और आसान .. और अभी भी एक वैध समाधान है 2015, वर्तमान संस्करण (1.4.5) के साथ। http://demos.jquerymobile.com/1.4.5/forms/#Preventingauto-initializationofformelements – gmo

7

भविष्य उपयोगकर्ताओं के लिए।

बस अगर आप प्रत्येक फॉर्म तत्व के लिए अक्षम करना चाहते हैं या आपके रूप गतिशील रूप से लोड हो रहे हैं जहां आप मार्कअप को संपादित नहीं कर सकते हैं।

 $(document).on('pagebeforecreate', function(e) { 
      $("input, textarea, select", e.target).attr("data-role", "none"); 
     }); 
+7

और भविष्य के भविष्य के उपयोगकर्ताओं के लिए, ['live()'] (http://api.jquery.com/live/) फ़ंक्शन jQuery संस्करण 1.7 के रूप में ['on'] (http://api.jquery.com/on/) फ़ंक्शन के पक्ष में बहिष्कृत किया जा रहा है –

0

मैं आदानों बदल सकते हैं और डेटा-भूमिका जोड़ने के लिए भी कई स्थानों पर है = "कोई नहीं" निम्नलिखित कोड मेरे लिए काम करता है:

<script> 
     $(document).bind('mobileinit',function(){ 
      $.mobile.page.prototype.options.keepNative = "select,input"; 
     });   
    </script> 
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 
संबंधित मुद्दे