javascript - Ext.onReady() बनाम $(दस्तावेज़).ready()




jquery dom (2)

क्या फर्क पड़ता है? मेरे पास $ (डॉक्यूमेंट) है। एक फ़ंक्शन जो जांचनी चाहिए कि क्या extjs लोड हो रहा है, लेकिन मुख्य समस्या है extjs $ (दस्तावेज़) के अंदर समय और चीजों पर लोड नहीं होती है। पहले से ही निष्पादित करने के लिए शुरू होता है, extjs फ़ंक्शन बनाते हैं जो मुख्य त्रुटि ' Ext.create पर "अपरिभाषित" का निर्माण निष्पादित नहीं कर सकता है ("...", {..}); लाइन। अगर मैं इस तरह डबल जांच डाल दिया:

$(document).ready(function() {
    Ext.onReady(function() {
        Ext.create('Ext.Button', {...});
    });
});

चीजें जादू काम करते हैं अब मैं ext-all.js का उपयोग कर रहा हूं, जो ~ 1.3 एमएम मिनेटेड है जो बहुत बड़ी आईएमहो है ... और चीजों को जादुई ढंग से लोड किया जाता है, जबकि वह दूसरी जांच करता है ... लेकिन मुझे लगता है कि उन 2 फ़ंक्शन समान नहीं हैं परिभाषाओं का सुझाव है, क्योंकि अगर मैं एक और $ (दस्तावेज़) डालता हूं। इसके बजाय Ext.onReady () रेखा के बजाय, चीज़ें फिर से टूट जाती हैं मुझे लगता है कि Ext.onReady ({}); फ़ंक्शन कुछ अन्य काली जादू करता है जो $ (दस्तावेज़) .ready () नहीं करता, और मुझे कोई दिलचस्पी है अगर कोई जानता है कि यह किस प्रकार का जादू है?

क्योंकि यह काम है और मुझे नहीं पता है कि मुझे कौन मार रहा है

पोस्ट पढ़ने के लिए धन्यवाद =) पीएस मैं लगभग दिन के लिए एक्स्टजेएस का उपयोग कर रहा हूं इसलिए मैं इसके लिए काफी नया हूँ


नहीं, वे समान नहीं हैं, सबसे पहले जब आपकी jQuery लाइब्रेरी भरी हुई है, तो proc.onReady (.. आपकी एक्स्टजेएस लाइब्रेरी लोड की जाएगी जब proc की जाएगी।

यदि आप उन्हें जोड़ना चाहते हैं तो आप ऐसा कुछ कर सकते हैं:

var extReady = false;
var jQueryReady = false;

var librariesReady = function () {
    if (jQueryReady && extReady) {
        //They're both ready
    }
};

$(document).ready(function () {
    jQueryReady = true;
    librariesReady();    
});
Ext.onReady(function () {
    extReady = true;
    librariesReady();
});

वे दोनों जब DOM तैयार है के लिए जांच। अगर आपको jQuery का इस्तेमाल करते समय लोड करने के लिए Ext की आवश्यकता है, तो तर्क को उलटने की कोशिश करें (यह काम नहीं करेगा, पता नहीं है, ने कोशिश नहीं की है)।

Ext.onReady(function() {
    $(document).ready(function() {
        Ext.create('Ext.Button', {...});
    });
});

इस विषय पर एक और स्टैक ओव्हरफ्लो प्रश्न: Extjs + jQuery एक साथ





extjs4