2011-08-05 7 views
6

मेरे पास jQuery का उपयोग करके बनाया गया एक ऐप है (और विभिन्न jQuery-UI टूल का उपयोग करके)।क्या jQuery मोबाइल के साथ फ्लाई पर तत्व बनाना संभव है?

किसी कारण से, मुझे इसे स्मार्टफोन/टैबलेट कंप्यूटर पर पोर्ट करना होगा, और इसके लिए jQuery मोबाइल का उपयोग करने का निर्णय लिया जाएगा (परिवर्तनों की संख्या को कम करने के लिए)।

मेरे वेनिला ऐप में, मैंने उपयोगकर्ता इंटरैक्शन के आधार पर फ्लाई पर पृष्ठ के कुछ तत्व बनाए।

उदाहरण के लिए एक स्लाइडर (पी पैरामीटर का एक समूह के साथ एक वस्तु है) इस तरह बनाया जा सकता है:

function createSlider(p){ 
    return $("<div/>",{ 
       "id":p.id, 
       "class":p.divClass, 
      }).slider({ 
       "orientation": p.align, 
       "min":p.constraint.min, 
       "max":p.constraint.max, 
       "step":p.step, 
       "value":p.curVal, 
       "animate":"normal" 
       /*and some event handling here, but it doesn't matter*/ 
      }); 

} 

और यह एक अच्छा देख स्लाइडर का उत्पादन करेगा। अब ऐसा लगता है:

function createSlider(p){ 
    return $("<range/>",{ 
      "id":p.id, 
      "class":p.divClass, 
      "min":p.constraint.min, 
      "max":p.constraint.max, 
      "step":p.step, 
      "value":p.curVal, 
    }); 
} 

लेकिन जैसा कि यह फ्लाई पर बनाया गया है, पेज लोड पर jQuery मोबाइल द्वारा किए गए सभी सामान इस पर नहीं किए जाते हैं।

क्या एचटीएमएल में स्लाइडर लिखने के बिना उस प्रारंभिकरण को बल देने का कोई तरीका है?

धन्यवाद।

संपादित: मैं doc कि यह container.trigger("create"); का उपयोग कर हालांकि यह अभी तक काम नहीं करता प्राप्त किया जा सकता में पाया।

EDIT2: ठीक है समाधान समाधान था।

उत्तर

4

दस्तावेज के अनुसार (प्रश्न में संपादित देखें), युक्त तत्व कार्यों पर trigger("create") का उपयोग करके।

function createSlider(){ 
    return $("<input/>",{ 
      "type":"range", 
      "id":"sl", 
      "min":0, 
      "max":15, 
      "step":1, 
      "value":1, 
    }); 
} 

function appendSlider(){ 
    $("#yourdiv").append(createSlider()).trigger("create"); 
} 

एक sidenote के रूप, jQuery के लिए दस्तावेज़:

और वह काम करने के लिए, आप भी याद रखना होगा कि सीमा एक इनपुट प्रकार और नहीं एक टैग है

कार्य समाधान की आवश्यकता है ... मोबाइल में एक खोज विकल्प की कमी है।

+0

यह मेरे लिए काम नहीं करता है। अगर मैं .trigger ("create") का उपयोग करता हूं, तो ड्रॉपडाउन () अजीब दिखता है और अप्रत्याशित रूप से व्यवहार करता है। – Ted

0

कंटेनर पर .page() पर कॉल करने का प्रयास करें जिसमें सामग्री को जोड़ा जा रहा है। वैकल्पिक रूप से, आपके द्वारा लौटाई जा रही सामग्री में .page() जोड़ना भी काम कर सकता है।

+0

यह काम नहीं किया। मैंने ट्रिगर ("बनाना") भी कोशिश की; बिना किसी सफलता के। –

+0

क्या आप पोस्ट कर सकते हैं कि आपने 'पेज()' को कॉल करने का प्रयास कैसे किया? –

+0

वहां आप जाते हैं: http://jsfiddle.net/bZVmk/2/ –

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