jQuery noConflict Mode
In this page:
var $j = jQuery.noConflict();
$j(selector).action();
noConflict क्या करता है
jQuery.noConflict() call करना global dollar symbol को उस library को वापस दे देता है जिसने इसे पहले define किया था, दोनों को एक-दूसरे को overwrite करने से रोकते हुए।
उदाहरण: What noConflict Does
<!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
<!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
<!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
<!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
<!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>
jQuery.noConflict()call करना और फिर भी$("#msg")लिखना, जो fail हो जाता है क्योंकि$अब दूसरी library का है।- jQuery file load होने से पहले, या
$की भी ज़रूरत वाली किसी दूसरी library के बादjQuery.noConflict()call करना, इसलिए असल में कुछ भी release नहीं होता। noConflictcall करना लेकिन 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 और
noConflictmode jQuery को reliably load होने और दूसरी libraries के साथ coexist करने में मदद करते हैं।
Chapter Quiz — Complete all 6 topics to unlock
0/6 topics done
Complete these topics first: