दिलचस्प पोस्ट
अशक्त सूचक अपवाद – findViewById () पायथन पुनः। एफंडॉल अजीब व्यवहार करता है क्या C ++ enum को स्ट्रिंग में बदलने का एक आसान तरीका है? सी ++ में संकलन-समय स्ट्रिंग्स को आसान ढंग से घोषित करना असुरक्षित जावास्क्रिप्ट यूआरएल के साथ फ्रेम तक पहुंचने का प्रयास आईफ़ोन: यूआईटीबलव्यू सेल एएस्टॉरीरी चेकमार्क जावास्क्रिप्ट में मैं एक फ्लोट नंबर को पूरी संख्या में कैसे बदलूं? यह क्या है: आखिरी रूबी का निर्माण किया जाता है? सीजीएमके के लिए आरजीबी और एल्गोरिथ्म वापस I386 और x86-64 पर यूनिक्स और लिनक्स सिस्टम कॉल के लिए कॉलिंग सम्मेलनों क्या हैं I सी # में 'क्लोजर' क्या हैं? मल्टीपल जेफ्रैम्स का प्रयोग: अच्छा या बुरा अभ्यास? Mysql / फजी खोज के लिए लेवेन्सशेटिन दूरी का कार्यान्वयन? जावास्क्रिप्ट के साथ सभी कुकीज़ समाशोधन कैफ़े में मेरे अपने डेटासेट को प्रशिक्षण / परीक्षण कैसे करें?

मैं JQuery.noConflict कैसे कार्यान्वित करूं?

मैं एक ही html पृष्ठ पर जावास्क्रिप्ट और jquery कोड दोनों का उपयोग कर रहा हूँ। किसी कारण के लिए, jQuery के पुस्तकालय ठीक से काम करने से मेरे मूल जावास्क्रिप्ट कोड रोक रहा है।

मुझे यह पृष्ठ मिला: jQuery कोई विरोध नहीं है जो कहते हैं कि आप jquery.noConflict का उपयोग कर सकते हैं $ जावास्क्रिप्ट को वापस रिलीज़ करने के लिए। हालांकि, मुझे यकीन नहीं है कि यह कैसे करना है?

विशेष रूप से, मुझे यकीन नहीं है कि यह कैसे सही तरीके से कार्यान्वित करें? Jquery कोड कहां जाता है, जहां जेएस कोड जाता है?

मेरा कोड नीचे है:

<script type="text/javascript"> $.noConflict(); // Code that uses other library's $ can follow here. </script> 

वेब के समाधान से एकत्रित समाधान "मैं JQuery.noConflict कैसे कार्यान्वित करूं?"

jQuery.noConflict $ चर रीसेट करेगा, इसलिए यह अब jQuery उपनाम नहीं है। एक बार इसे सिर्फ एक बार फोन करने के अलावा, आप वास्तव में करने की जरूरत नहीं है और बहुत कुछ नहीं है। यद्यपि, यदि आप चाहें, तो आप रिटर्न मान के साथ अपना स्वयं का उपनाम बना सकते हैं:

 var jq = jQuery.noConflict(); 

और, आम तौर पर, आप jQuery और किसी भी प्लग इन को शामिल करने के बाद यह सही करना चाहते हैं:

 <script type="text/javascript" src="/path/to/jquery.js"></script> <script type="text/javascript" src="/path/to/jquery-plugin.js"></script> <script type="text/javascript"> jQuery.noConflict(); // Code that uses other library's $ can follow here. </script> <script type="text/javascript" src="/path/to/prototype.js"></script> 

आप एक कदम आगे भी जा सकते हैं और noConflict(true) साथ jQuery को मुक्त कर सकते हैं। यद्यपि, यदि आप इस मार्ग को लेते हैं, तो आप निश्चित रूप से एक उपनाम चाहते हैं जैसे न तो और न ही jQuery , शायद आप क्या चाहते हैं:

 var jq = jQuery.noConflict(true); 

मुझे लगता है कि यह अंतिम विकल्प ज्यादातर jQuery के संस्करणों के मिश्रण के लिए उपयोग किया जाता है, खासकर आउट-डेटेड प्लगइन्स के लिए जब आप स्वयं ही jQuery को अपडेट करना चाहते हैं:

 <script type="text/javascript" src="jquery-1.4.4.js"></script> <script type="text/javascript" src="jquery-older-plugin.js"></script> <script type="text/javascript"> var jq144 = jQuery.noConflict(true); </script> <script type="text/javascript" src="jquery-1.6.4.js"></script> <script type="text/javascript" src="jquery-newer-plugin.js"></script> 

डिफ़ॉल्ट रूप से, jquery चर jQuery का उपयोग करता है और $ आपकी सुविधा के लिए उपयोग किया जाता है यदि आप टकराव से बचने के लिए चाहते हैं, तो एक अच्छा तरीका है, जैसे jQuery को encapsulate करना है:

 (function($){ $(function(){ alert('$ is safe!'); }); })(jQuery) 

अगर मै गलत नहीं हूँ:

 var jq = $.noConflict(); 

तो आप jq के साथ jquery फ़ंक्शन कॉल कर सकते हैं। (जो भी)

 jq('#selector'); 

यह आपको jQuery के चर को एक अलग नाम देने की अनुमति देता है, और अभी भी इसका उपयोग करता है:

 <script type="text/javascript"> $jq = $.noConflict(); // Code that uses other library's $ can follow here. //use $jq for all calls to jQuery: $jq.ajax(...) $jq('selector') </script> 

आमतौर पर इसका उपयोग किया जाता है यदि आप किसी अन्य लाइब्रेरी का उपयोग कर रहे हैं जो $ का उपयोग करता है

JQuery के लिए $ प्रतीक का उपयोग करने के लिए, मैं आमतौर पर इसका उपयोग करता हूं:

 jQuery.noConflict()(function($){ // jQuery code here }); 

यदि आप एपीआई पेज पर दिए गए उदाहरणों को देखते हैं तो यह है: उदाहरण: स्क्रिप्ट के बाकी हिस्सों में उपयोग करने के लिए jQuery के बजाए एक अलग उपनाम बनाता है।

 var j = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); // Do something with another library's $() $("content").style.display = 'none'; 

var j = jQuery.noConflict() jquery में लाने के बाद var j = jQuery.noConflict() और फिर विवादित लिपियों में लाएं। फिर आप अपनी सभी jquery आवश्यकताओं के लिए $ स्थान पर j उपयोग कर सकते हैं और दूसरी स्क्रिप्ट के लिए $ उपयोग कर सकते हैं।

उस के अतिरिक्त, $ $ सही नहीं जा रहा है । पिछले (यदि कोई हो) वैश्विक चर jQuery बहाल करेगा, ताकि प्लगइन्स को सही jQuery संस्करण के साथ आरम्भ किया जा सकेगा, जब एकाधिक संस्करण उपयोग किए जा रहे हों।

आप अपने डिफ़ॉल्ट $ बजाय JQuery का उपयोग करने के लिए एक कस्टम चर निर्दिष्ट करें JQuery फिर एक नए फ़ंक्शन गुंजाइश में लपेटता है, इसलिए $ अब नाम स्थान संघर्ष नहीं है

 <script type="text/javascript"> $jQuery = $.noConflict(); // Other library code here which uses '$' $jQuery(function(){ /* dom ready */ } </script> 

NoConflict () विधि $ शॉर्टकट पहचानकर्ता रिलीज़ करता है, ताकि अन्य स्क्रिप्ट अगली बार के लिए इसका उपयोग कर सकें।

डिफ़ॉल्ट jquery $ के रूप में:

 // Actin with $ $(function(){ $(".add").hide(); $(".add2").show(); }); 

या कस्टम के रूप में:

 var j = jQuery.noConflict(); // Action with j j(function(){ j(".edit").hide(); j(".add2").show(); }); 
 <script src="JavascriptLibrary/jquery-1.4.2.js"></script> <script> var $i = jQuery.noConflict(); // alert($i.fn.jquery); </script> <script src="JavascriptLibrary/jquery-1.8.3.js"></script> <script> var $j = jQuery.noConflict(); //alert($j.fn.jquery); </script> <script src="JavascriptLibrary/jquery.colorbox.js"></script> <script src="Js/jquery-1.12.3.js"></script> <script> var $NJS = jQuery.noConflict(); </script> 

आप इसे ऐसा कर सकते हैं:

 <script> $i.alert('hi i am jquery-1.4.2.js alert function'); $j.alert('hi i am jquery-1.8.3.js alert function'); </script> 
 /* The noConflict() method releases the hold on the $ shortcut identifier, so that other scripts can use it. */ var jq = $.noConflict(); (function($){ $('document').ready(function(){ $('button').click(function(){ alert($('.para').text()); }) }) })(jq); live view example on codepen easy to understand. http://codepen.io/kaushik/pen/QGjeJQ 

आज मुझे यह समस्या है क्योंकि मैंने "बूटस्ट्रैप मेनू" को कार्यान्वित किया है जो "फेंसीबॉक्स छवि गैलरी" के साथ एक jQuery संस्करण का उपयोग करता है बेशक एक प्लगइन काम करता है और अन्य नहीं jQuery के संघर्ष के कारण, लेकिन मैं इसे का पालन के रूप में दूर किया है:

सबसे पहले मैंने स्क्रिप्ट पाद लेख में "बूटस्ट्रैप मेनू" जेएस जोड़ दिया है क्योंकि मेन्यू को वेबसाइट के पृष्ठों पर प्रस्तुत किया गया है:

 <!-- Top Menu Javascript --> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap.min.js"></script> <script type="text/javascript"> var jq171 = jQuery.noConflict(true); </script> 

और "fancybox" छवि गैलरी पृष्ठ में अनुसरण करें:

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="fancybox/js/libs/jquery-1.7.1.min.js"><\/script>')</script> 

और अच्छी बात यह है कि दोनों एक जादू की तरह काम कर रहे हैं 🙂

कोशिश करो 🙂

मैंने इस संघर्ष कोड को जोड़कर उस त्रुटि को तय किया है

 <script type="text/javascript"> jQuery.noConflict(); </script> 

मेरे jQuery और जेएस फाइलों के बाद और फ़ाइल को त्रुटि मिली (ब्राउजर के कंसोल द्वारा पाया गया) और मेरी Magento वेबसाइट में सभी त्रुटि जेएस फाइलों पर इसके बाद jQuery द्वारा सभी '$' को बदल दें। यह मेरे लिए अच्छा काम कर रहा है मेरे ब्लॉग पर यहां अधिक जानकारी प्राप्त करें