मेरे यहां एक दिलचस्प सवाल है जो बहुत मूर्खतापूर्ण लग सकता है, लेकिन यहां जाता है। JQuery के लिए तैयार समारोह का उपयोग करते हुए मैं बहुत की तरह कुछ कार्यों को परिभाषित किया है: IE के लिए
$(function(){
var function1 = function(data){
//do something
}
var function2 = function(data){
//do something else
}
});
किसी कारण से, आदेश में क्या मैं सही ढंग से उपयोग कर रहा हूँ, यह $ (दस्तावेज़) में किया जाना चाहिए .ready रेंडर करने के लिए() फ़ंक्शन । हालांकि, सर्वर-साइड से डेटासेट होने के बाद, मुझे इन कार्यों को ट्रिगर करने की आवश्यकता है। तो मैंने सोचा कि मैं कुछ इस तरह करना होगा ...
Object.Namespace.callFunction = function(data){
function1(data);
}
... एक स्क्रिप्ट में तैयार समारोह के बाहर रखा जाना इतना है कि मैं इसे सीधे कह सकते हैं।
दुर्भाग्यवश, मुझे पता है कि यह काम नहीं करता है, ठीक है, यह तार्किक प्रतीत नहीं होता है और मैंने कोशिश की है! मैंने इन सभी कार्यों को मनमाने ढंग से बनाया क्योंकि इससे सामग्री कोई फर्क नहीं पड़ता, बल्कि अवधारणा। मैंने उस डेटा को प्राप्त करने के बाद फ़ंक्शन ट्रिगर करने के लिए इवेंट हैंडलर का उपयोग करने का भी प्रयास किया है - इसका कोई फायदा नहीं हुआ! $ (दस्तावेज़) .ready() वैश्विक के अंदर कार्य करने का सबसे अच्छा तरीका क्या है?
मैं कोई JQuery विशेषज्ञ नहीं हूं लेकिन आप पुराने स्कूल 'फ़ंक्शन फ़ंक्शन 1 (डेटा) {...} 'ब्लॉक का उपयोग करके पहली जगह ग्लोबल्स के रूप में फ़ंक्शन को परिभाषित क्यों नहीं कर रहे हैं? –
जैसा कि अन्य ने पहले ही कहा है, उत्तर केवल कार्य को कार्यों के रूप में परिभाषित करने के लिए है। यह आईई में क्यों काम नहीं करता है? *यह सवाल है। – harpo
वे केवल मूल उदाहरण थे। मैं ExtJS स्लाइडर प्लगइन के साथ भी काम कर रहा हूं और किसी कारण से IE उन्हें ठीक से प्रस्तुत नहीं करेगा जब तक कि वे doc.ready() में नहीं किए जाते। – sctskw