दिलचस्प पोस्ट
फ़ाइल का आकार पथ को कैसे प्राप्त करें? वेबपेज में अजगर स्क्रिप्ट कैसे चलाना फ़ाइल। एक नेटवर्क साझा से झूठी लौट रहे हैं Xhr के माध्यम से JQuery Ajax प्रगति कौन सी ऑपरेटर प्राथमिकता और सहयोगीता को परिभाषित करता है? `स्रोत '(' myfile.r ') जैसे आर मार्कडाउन फ़ाइल को स्रोत कैसे करें? एक सरल पाठ फ़ाइल पढ़ना जावास्क्रिप्ट में घटना को कैसे ट्रिगर करना है? रूबी में एक अमूर्त वर्ग को कैसे कार्यान्वित करें? NSStrings के साथ scanf का उपयोग करना कुदा पर 128 बिट पूर्णांक? React.js: सामग्री के लिए चालू घटना बदलेंअनुमति स्काला के लिए जेवीएम हीप आकार बढ़ाएं? अन्य समयक्षेत्रों में यूटीसी दिनांक परिवर्तित करना विंडोज कमांड प्रॉम्प्ट का इस्तेमाल करते हुए विंडोज सर्विस स्थापित करें?

jQuery प्लगइन: कॉलबैक कार्यक्षमता को जोड़ने

मैं अपनी प्लगइन कॉलबैक कार्यक्षमता देने की कोशिश कर रहा हूं, और मैं इसे कुछ पारंपरिक तरीके से संचालित करना चाहता हूं:

myPlugin({options}, function() { /* code to execute */ }); 

या

 myPlugin({options}, anotherFunction()); 

मैं कोड में उस पैरामीटर को कैसे संभालता हूं? क्या यह एक पूर्ण इकाई माना जाता है? मुझे पूरा यकीन है कि मुझे पता है कि मैं कहां निष्पादक कोड लगाता हूं, लेकिन मैं कैसे निष्पादित करने के लिए कोड प्राप्त करूं? मुझे इस विषय पर बहुत सारे साहित्य नहीं मिल सकता है, इसलिए आपकी मदद के लिए अग्रिम धन्यवाद

Solutions Collecting From Web of "jQuery प्लगइन: कॉलबैक कार्यक्षमता को जोड़ने"

बस प्लगइन में कॉलबैक निष्पादित करें:

 $.fn.myPlugin = function(options, callback) { if (typeof callback == 'function') { // make sure the callback is a function callback.call(this); // brings the scope to the callback } }; 

आप ऑब्जेक्ट ऑब्जेक्ट में कॉलबैक भी कर सकते हैं:

 $.fn.myPlugin = function() { // extend the options from pre-defined values: var options = $.extend({ callback: function() {} }, arguments[0] || {}); // call the callback and apply the scope: options.callback.call(this); }; 

इसे इस तरह प्रयोग करें:

 $('.elem').myPlugin({ callback: function() { // some action } }); 

मुझे नहीं पता कि मैं आपके प्रश्न को सही ढंग से समझता हूं। लेकिन दूसरे संस्करण के लिए: यह एक और anotherFunction तुरंत फोन करेगा

असल में आपका प्लगइन किसी तरह का फ़ंक्शन होना चाहिए, जो इस तरह दिखता है:

 var myPlugin = function(options, callback) { //do something with options here //call callback if(callback) callback(); } 

आपको कॉलबैक के रूप में फ़ंक्शन ऑब्जेक्ट प्रदान करना है, इसलिए function(){...} या अन्य anotherFunction (बिना () )।

अतीत से एक विस्फोट वापस लाना

यह ध्यान देने योग्य है कि यदि आपके पास दो तर्क हैं, उदाहरण के लिए:

 $.fn.plugin = function(options, callback) { ... }; 

फिर आप विकल्प तर्क के बिना प्लगइन को कॉल करते हैं, लेकिन कॉलबैक के साथ आप समस्याओं में भाग लेंगे:

 $(selector).plugin(function() {...}); 

मैं इसका उपयोग थोड़ा और अधिक लचीला बनाने के लिए करता हूं:

 if($.isFunction(options)) { callback = options } 

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

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

 $.fn.myPlugin = function(options, callback) { ... if(callback) //If the caller supplied a callback callback(someParam); ... }); 

मुझे लगता है कि यह आपकी मदद कर सकता है

 // Create closure. (function( $ ) { // This is the easiest way to have default options. var settings = $.extend({ // These are the defaults. onready: function(){}, //Rest of the Settings goes here... }, options ); // Plugin definition. $.fn.hilight = function( options ) { //Here's the Callback settings.onready.call(this); //Your plugin code goes Here }; // End of closure. })( jQuery ); 

एक उदाहरण थोड़ा देर हो चुकी है, लेकिन यह उपयोगी हो सकता है। तर्क का उपयोग करना एक ही कार्यक्षमता बना सकता है

 $.fn.myPlugin = function() { var el = $(this[0]); var args = arguments[0] || {}; var callBack = arguments[1]; ..... if (typeof callback == 'function') { callback.call(this); } }