दिलचस्प पोस्ट
क्या "नियंत्रक" में "MVC" में जाता है? स्ट्रिंग के वैक्टर से संख्या निकालने उत्सुकता से आवर्ती टेम्पलेट पैटर्न (सीआरटीपी) क्या है? JavaFX में एक नोड की ऊंचाई प्राप्त करें (एक लेआउट पास जनरेट करें) iPhone UIWebView स्थानीय संसाधनों का उपयोग कर जावास्क्रिप्ट और हैंडलिंग अनुदेषण बदलें दृश्य स्टूडियो में कमांड लाइन पैरामीटर के साथ डीबग करना कैसे वर्चुअल फ़ंक्शन और vtable कार्यान्वित हैं? एक वैश्विक दुभाषिया ताला (जीआईएल) क्या है? विंडो फिट करने के लिए HTML5 कैनवास का आकार बदलें Node.js – यूटीसी में डेट स्ट्रिंग फ़ॉर्मेट कैसे करें क्या एंड्रॉइड लेआउट फ़ोल्डर में सबफ़ोल्डर होते हैं? jQuery – हटायें शैली .css () फ़ंक्शन के साथ जोड़ा गया ऑब्जेक्ट्स की पहचान करना, आईडी (…) से लौटा मूल्य क्यों बदलता है? क्या एक एचटीएमएल फॉर्म में स्वत: पूर्ण को अक्षम करने के लिए कोई W3C वैध तरीका है? std :: फ़ंक्शन बनाम टेम्पलेट

jQuery – एकाधिक $ (दस्तावेज़) .ready …?

सवाल:

अगर मैं दो जावास्क्रिप्ट फाइलों में लिंक करता हूं, दोनों $(document).ready काम करता है, तो क्या होता है? क्या एक दूसरे को अधिलेखित करता है? या दोनों $(document).ready

उदाहरण के लिए,

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="http://.../jquery1.js"></script> <script type="text/javascript" src="http://.../jquery2.js"></script> 

jquery1.js:

 $(document).ready(function(){ $("#page-title").html("Document-ready was called!"); }); 

jquery2.js:

 $(document).ready(function(){ $("#page-subtitle").html("Document-ready was called!"); }); 

मुझे यकीन है कि यह केवल एक ही $(document).ready में दोनों कॉल्स को गठजोड़ करने का सर्वोत्तम अभ्यास है $(document).ready लेकिन यह मेरी स्थिति में काफी संभव नहीं है।

वेब के समाधान से एकत्रित समाधान "jQuery – एकाधिक $ (दस्तावेज़) .ready …?"

सभी को क्रियान्वित कर दिया जाएगा और पहले कॉल के पहले रन के आधार पर !!

 <div id="target"></div> <script> $(document).ready(function(){ jQuery('#target').append('target edit 1<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 2<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 3<br>'); }); </script> 

डेमो

इसके अलावा एक बात मैं उल्लेख करना चाहूंगा

इस के स्थान पर

 $(document).ready(function(){}); 

आप इस शॉर्टकट का उपयोग कर सकते हैं

 jQuery(function(){ //dom ready codes }); 

यह नोट करना महत्वपूर्ण है कि प्रत्येक jQuery() कॉल को वास्तव में वापस करना होगा। अगर एक अपवाद एक में फेंक दिया जाता है, तो बाद में (असंबंधित) कॉलों को कभी भी निष्पादित नहीं किया जाएगा।

यह सिंटैक्स की परवाह किए बिना लागू होता है आप jQuery() , jQuery(function() {}) , $(document).ready() उपयोग कर सकते हैं $(document).ready() , जो भी आप चाहते हैं, वही व्यवहार समान है यदि एक प्रारंभिक विफल हो जाता है, तो बाद के ब्लॉक कभी भी नहीं चलेंगे।

तृतीय पक्ष पुस्तकालयों का उपयोग करते समय यह मेरे लिए एक समस्या थी एक पुस्तकालय एक अपवाद फेंक रहा था, और बाद में पुस्तकालयों ने कुछ भी प्रारंभिक नहीं किया।

$ (Document) .ready (); किसी भी अन्य समारोह के समान है दस्तावेज तैयार होने के बाद यह आग लग जाता है – यानी भरी हुई है। सवाल यह है कि जब $ $ (दस्तावेज़) एकाधिक $ (डॉक्यूमेंट) होता है, तो आप कितने $ (दस्तावेज़) के भीतर समान फ़ंक्शन को आग में नहीं निकाल सकते हैं .ready () 's

 //this <div id="target"></div> $(document).ready(function(){ jQuery('#target').append('target edit 1<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 2<br>'); }); $(document).ready(function(){ jQuery('#target').append('target edit 3<br>'); }); //is the same as <div id="target"></div> $(document).ready(function(){ jQuery('#target').append('target edit 1<br>'); jQuery('#target').append('target edit 2<br>'); jQuery('#target').append('target edit 3<br>'); }); 

दोनों ही वही व्यवहार करेंगे फर्क सिर्फ इतना है कि हालांकि पूर्व एक ही परिणाम प्राप्त करेंगे। उत्तरार्द्ध एक दूसरा तेजी से एक अंश चलाएगा और कम टाइपिंग की आवश्यकता होगी 🙂

निष्कर्ष में जहां कभी संभव हो केवल 1 $ (दस्तावेज़) .ready ();

// पुराने उत्तर

वे दोनों क्रम में बुलाया मिलेगा सर्वश्रेष्ठ अभ्यास उन्हें जोड़ना होगा लेकिन चिंता न करें, यदि संभव न हो पेज विस्फोट नहीं होगा।

निष्पादन शीर्ष-नीचे है पहले आओ पहले पाओ।

यदि निष्पादन अनुक्रम महत्वपूर्ण है, तो उन्हें गठबंधन करें।

दोनों को बुलाया जाएगा, सबसे पहले पहले सेवा दी गई। यहाँ एक नज़र डालें

 $(document).ready(function(){ $("#page-title").html("Document-ready was called!"); }); $(document).ready(function(){ $("#page-title").html("Document-ready 2 was called!"); }); 

आउटपुट:

दस्तावेज़-तैयार 2 को बुलाया गया था!