← Back to jQuery Course | Chapter 1: Getting Started | Lesson 6 of 6

jQuery noConflict Mode

noConflict dollar sign को release करता है ताकि कोई और library इसे इस्तेमाल कर सके।
Syntax
javascript
var $j = jQuery.noConflict();
$j(selector).action();

noConflict क्या करता है

jQuery.noConflict() call करना global dollar symbol को उस library को वापस दे देता है जिसने इसे पहले define किया था, दोनों को एक-दूसरे को overwrite करने से रोकते हुए।

उदाहरण: What noConflict Does

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <script>
      jQuery.noConflict();
      console.log(typeof $);
    </script>
  </body>
</html>

Dollar के बजाय jQuery इस्तेमाल करना

noConflict() call करने के बाद, $ shortcut release हो जाता है, इसलिए आपके code का हर selector इसके बजाय पूरा jQuery(...) नाम इस्तेमाल करने के लिए फिर से लिखा जाना चाहिए -- library collisions से बचने के बदले में typing की एक छोटी कीमत।

उदाहरण: Use jQuery Instead of Dollar

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <p id="msg">Hi</p>
    <script>
      jQuery.noConflict();
      jQuery("#msg").text("Updated with jQuery()");
    </script>
  </body>
</html>

एक Custom Alias बनाना

jQuery.noConflict() की return value को एक variable में assign करना, जैसे var $j = jQuery.noConflict(), आपको global $ symbol को बिल्कुल भी छुए बिना jQuery के लिए एक छोटा alias रखने देता है।

उदाहरण: Create a Custom Alias

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <p id="msg">Hi</p>
    <script>
      var $j = jQuery.noConflict();
      $j("#msg").text("Updated with $j alias");
    </script>
  </body>
</html>

Ready में Alias इस्तेमाल करना

वह custom alias हर जगह काम करता है जहाँ आप आमतौर पर $ इस्तेमाल करते, document ready block के अंदर भी -- $j(document).ready(...) एक बार $ कहीं और reassign होने के बाद $(document).ready(...) जैसा ही behave करता है।

उदाहरण: Use the Alias in Ready

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <p id="msg">Hi</p>
    <script>
      var $j = jQuery.noConflict();
      $j(document).ready(function() {
      $j("#msg").text("Ready fired using alias");
      });
    </script>
  </body>
</html>

Library Conflicts से बचना

noConflict() उन pages पर सबसे ज़्यादा मायने रखता है जो Prototype.js, MooTools, या दूसरी पुरानी libraries भी load करते हैं जो $ symbol भी claim करती हैं -- इसके बिना, जो भी library आख़िर में load होती है वह चुपचाप जीत जाती है और दूसरी का code तोड़ देती है।

उदाहरण: Avoid Library Conflicts

javascript
<!DOCTYPE html>
<html>
  <head>
    <script>
      window.$ = function() { return "other-library"; };
    </script>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script>
      jQuery.noConflict();
      console.log($());
    </script>
  </head>
  <body></body>
</html>
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. jQuery.noConflict() call करना और फिर भी $("#msg") लिखना, जो fail हो जाता है क्योंकि $ अब दूसरी library का है।
  2. jQuery file load होने से पहले, या $ की भी ज़रूरत वाली किसी दूसरी library के बाद jQuery.noConflict() call करना, इसलिए असल में कुछ भी release नहीं होता।
  3. noConflict call करना लेकिन return value save न करना, जैसे var $j = jQuery.noConflict();, और फिर इस्तेमाल करने के लिए कोई छोटा alias न होना।
चैप्टर सारांश
  • jQuery एक JavaScript library है जो page के साथ काम करना simple बनाती है, और इसे एक script tag या CDN से जोड़ा जाता है।
  • jQuery syntax elements select करता है और उन पर action लेता है, आमतौर पर document ready event के अंदर।
  • CDN fallbacks और noConflict mode jQuery को reliably load होने और दूसरी libraries के साथ coexist करने में मदद करते हैं।
🔒

Chapter Quiz — Complete all 6 topics to unlock

0/6 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.