jQuery कोर - noConflict() विधि
उदाहरण
noConflict() विधि के द्वारा jQuery वेरियेबल का नया अनुवाद नाम निर्धारित करें:
var jq=$.noConflict();
व्याख्या और इस्तेमाल
noConflict() विधि $ वेरियेबल के jQuery नियंत्रण को हस्तांतरित करती है।
यह विधि jQuery वेरियेबल के $ वेरियेबल पर नियंत्रण छोड़ देती है।
सुझाव:
यह विधि दूसरी जावास्क्रिप्ट लाइब्रेरी के फंक्शन के लिए $ इस्तेमाल करते समय बहुत उपयोगी है।सुझाव:
व्याकरण
jQuery.noConflict(removeAll)
पैरामीटर | वर्णन |
---|---|
removeAll | बूल वैल्यू। इससे पता चलता है कि क्या पूरी तरह से jQuery वेरियेबल को वापस स्थानांतरित करने की अनुमति है। |
व्याख्या
कई जावास्क्रिप्ट लाइब्रेरी $ को फंक्शन या वेरियेबल के नाम के रूप में इस्तेमाल करती हैं, jQuery भी इसी तरह है। jQuery में, $ केवल jQuery का अन्य नाम है, इसलिए $ को नहीं इस्तेमाल करने पर भी सभी कार्यक्षमताएँ सुनिश्चित हैं। यदि हम jQuery के बाहर की अन्य जावास्क्रिप्ट लाइब्रेरी को इस्तेमाल करना चाहते हैं, तो हम $ oConflict()$ को फ़ोल्ड करके उस लाइब्रेरी को नियंत्रण वापस दे सकते हैं:
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $.noConflict(); // अन्य लाइब्रेरी के $ के लिए कोड </script>
यह .ready() विधि के साथ कंबिनेशन करके जूनीयर जेक्वेयरी ऑब्जेक्ट के लिए अन्य नाम लगाने के लिए इस्तेमाल किया जा सकता है:
<script type="text/javascript" src="other_lib.js"></script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $.noConflict(); jQuery(document).ready(function($) { // jQuery $ के लिए कोड }); // अन्य लाइब्रेरी के $ के लिए कोड </script>
इसके अलावा, इस विधि को true पैरामीटर देकर, हम डॉलर ($) और jQuery का नियंत्रण उसी लाइब्रेरी को वापस दे सकते हैं। पहले से यह सोचें जिसे आपको आगे बढ़ने के लिए चाहिए!
यह जूनियर के noConflict तकनीक की तुलना में एक अधिक कट्टर संस्करण है क्योंकि इससे जूनियर को पूरी तरह से पुन: परिभाषित किया जाएगा। यह एक अधिक कट्टर स्थिति के लिए उपयोग किया जाता है, जैसे कि आप जूनियर को एक अधिक टकरावपूर्ण वातावरण में घुसाएं चाहते हैं। नोट: इस तरीके का उपयोग करने के बाद प्लगइन के अधिकांश पद्धति को असफल होने की संभावना है।
उदाहरण
उदाहरण 1
$ को संकेतित ऑब्जैक्ट को मूल ऑब्जैक्ट के रूप में नक़ल करें:
jQuery.noConflict(); jQuery("div p").hide(); // जूनियर का उपयोग $("content").style.display = "none"; // अन्य लाइब्रेरी के $()
उदाहरण 2
उपनाम $ को पुन: उपयोग करते हुए एक फ़ंक्शन बनाएं और इस फ़ंक्शन के कार्यक्षेत्र में $ को जूनियर के उपनाम के रूप में उपयोग करते हुए फ़ंक्शन का निर्वहन करें। इस फ़ंक्शन में पूर्ववर्ती $ ऑब्जैक्ट अवैध होता है। यह अधिकांश अन्य लाइब्रेरी पर निर्भर नहीं करने वाले प्लगइन के लिए बहुत अच्छा कार्य करता है:
jQuery.noConflict(); (function($) { $(function() { // $ को जूनियर के उपनाम के रूप में उपयोग }); })(jQuery); ... // $ को उपयोग करने वाले अन्य लाइब्रेरी के कोड
उदाहरण 3
jQuery.noConflict() को सरल प्रकार के ready से जोड़ सकते हैं, ताकि कोड और संकुचित हो:
jQuery.noConflict()(function(){ // जूनियर के कोड }); ... // अन्य लाइब्रेरी में $ को उपयोग करने वाले कोड
उदाहरण 4
एक नया अन्य नाम को बनाएं ताकि आगामी लाइब्रेरी में जूनियर ऑब्जैक्ट का उपयोग किया जा सके:
var j = jQuery.noConflict(); j("div p").hide(); // जूनियर के कोड $("content").style.display = "none"; // अन्य लाइब्रेरी के $() कोड
उदाहरण 5
पूरी तरह से जूनियर को एक नए नामस्पति में ले जाएं:
var dom = {}; dom.query = jQuery.noConflict(true);
परिणाम:
dom.query("div p").hide(); // नई जूनियर की कोड $("content").style.display = "none"; // एक अन्य लाइब्रेरी $() की कोड jQuery("div > p").hide(); // एक अन्य संस्करण जूनियर की कोड