मैं सिर्फ jQuery प्लगइन्स लिखने के साथ शुरू कर रहा हूँ। मैंने तीन छोटे प्लगइन्स लिखे हैं, लेकिन मैं बस अपने सभी प्लगइन्स में लाइन को कॉपी कर रहा हूं, वास्तव में इसका मतलब जाने बिना। क्या कोई मुझे इनके बारे में कुछ और बता सकता है? किसी ढांचे को लिखते समय शायद किसी दिन कोई स्पष्टीकरण आ जाएगा :)
यह क्या करता है? (मुझे पता है कि यह किसी तरह jQuery का विस्तार करता है लेकिन क्या इसके बारे में जानने के लिए कुछ और दिलचस्प है)
(function($) {
})(jQuery);
प्लगइन लिखने के निम्नलिखित दो तरीकों में क्या अंतर है:
श्रेणी 1:
(function($) {
$.fn.jPluginName = {
},
$.fn.jPluginName.defaults = {
}
})(jQuery);
टाइप 2:
(function($) {
$.jPluginName = {
}
})(jQuery);
टाइप 3:
(function($){
//Attach this new method to jQuery
$.fn.extend({
var defaults = {
}
var options = $.extend(defaults, options);
//This is where you write your plugin's name
pluginname: function() {
//Iterate over the current set of matched elements
return this.each(function() {
//code to be inserted here
});
}
});
})(jQuery);
मैं यहां से जा सकता हूं और शायद सभी का मतलब एक ही है। मैं उलझन में हूं। कुछ मामलों में, यह एक प्लगइन में काम नहीं कर रहा है जिसे मैं टाइप 1 का उपयोग करके लिख रहा था। अब तक, टाइप 3 मुझे सबसे अधिक सुंदर लगता है, लेकिन मैं दूसरों के बारे में भी जानना चाहता हूं।
(function($) { })(jQuery)कहा: "मुझे पता है कि यह किसी तरह jQuery का विस्तार करता है [...]"। स्पष्ट रूप से आप नहीं जानते कि आपका कथन 100% गलत है। वैसे यह भविष्य के पाठकों के लिए भ्रामक हो सकता है। : इस एक नजर डालें stackoverflow.com/a/32550649/1636522 ।
(function($) { })(jQuery);कोड लपेटता ताकि$हैjQueryभले ही उस बंद अंदर,$साधन कुछ इसके बारे में किसी और के बाहर आमतौर पर के परिणाम के रूप,$.noConflict()उदाहरण के लिए। यह आपके प्लगइन काम करता है सुनिश्चित करता है, चाहे या नहीं$ === jQuery:)