.Apply jQuery फ़ंक्शन क्या है?


90

मुझे लगता है कि विभिन्न प्लगइन्स और कोड में, लेकिन मुझे समझ में नहीं आता है कि क्या कार्य करता है ... jQuery के एपीआई में संदर्भित नहीं है!


21
यह jQuery के संदर्भ में नहीं है, क्योंकि यह एक [ मूल जावास्क्रिप्ट फ़ंक्शन ] ( developer.mozilla.org/en/JavaScript/Reference/Global_Objects/… ) है।
पीटर अज़ताई

जवाबों:


125

applyतर्कों के एक सेट के साथ एक समारोह को बुलाता है। यह jQuery का हिस्सा नहीं है, यह कोर जावास्क्रिप्ट का हिस्सा है। हालाँकि, jQuery डॉक्स में इसका उल्लेख है:

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

वाक्य - विन्यास:

somefunction.apply(thisObj, [argsArray])

ऊपर कॉल समारोह somefunction, स्थापित करने thisके लिए thisObjसमारोह के दायरे के भीतर, और से बहस में गुजर argsArrayकार्य करने के लिए तर्क के रूप में।


2
संबंधित [ .call () फ़ंक्शन ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ) है जो एक भी लेता है this, लेकिन इसके बाद तर्कों के बजाय एक सरणी के बजाय व्यक्तिगत रूप से सूचीबद्ध तर्कों की एक श्रृंखला होती है। ।
पीटर अजताई

नीचे से क्या करेगा? $ .when.apply (अशक्त, वस्तु) .done (कॉलबैक);
गोहेल किरण

@ user1531437 यह कॉल करता है $.when(object).done(callback);, लेकिन फ़ंक्शन में $.when, thisपहले पैरामीटर पर सेट होता है, अर्थात null। यकीनन, एक का उपयोग किया जाना चाहिए $.when.call(null, object).done(callback);क्योंकि दूसरे पैरामीटर के .applyलिए एक सरणी माना जाता है
ल्यूक माधंगा

दूर से संबंधित jQuery प्रॉक्सी फ़ंक्शन था , जो thisकि संदर्भ चर के मान को बदलने के लिए उपयोगी है , जिस तरह से जावास्क्रिप्ट का मूल निवासी applyकर सकता है
लाल मटर

5

अनिवार्य रूप से, लागू फ़ंक्शन उस फ़ंक्शन के संदर्भ के साथ एक फ़ंक्शन को कॉल करेगा जिसे आप फ़ंक्शन को लागू करते हैं। इसका मतलब है कि फ़ंक्शन के भीतर, संदर्भ thisउस ऑब्जेक्ट को संदर्भित करेगा।


JQuery के साथ काम करने वाले और इस उत्तर पर पहुंचने वाले किसी भी व्यक्ति के लिए, आपको $(this)संबंधित jQuery ऑब्जेक्ट प्राप्त करने के लिए उपयोग करना होगा और jQuery विधियों तक पहुंचना होगा।
आर। श्रेयर्स

@ R.Schreurs को भी आपको यहां देखे जाने वाले
jQuery.fn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.