תיאור: מוותר על שליטה של jQuery על ערך $ .
ארגומנטים
jQuery.noConflict( [ removeAll ] )
הוספה בגרסה: 1.0
removeAll
ערך בולאני מציין למחוק כל הערכים של
jQuery
מהיקף הגלובלי
(
כולל jQuery בעצמו
)
רוב הספריות של
JavaScript
משתמשות ב-
$
כי פונקציה או שם של המשתנה, כמו ש-
jQuery
עושה זאת.
במקרה של
jQuery, $
זה רק כינוי עבור
jQuery,
לכן כל הפונקציות זמינות ללא שימוש ב-
$.
אם אנחנו נצתרך להשתמש בסיפריה אחרת של
JavaScript
לצד
jQuery,
אנחנו יכולים להחזיר שליטה על
$
חזרה לסיפריה אחרת באמצעות
$.noConflict():
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
שיטה הזו מאוד יעילה בשיתוף עם יכולת של
.ready()
להיות כינוי של אובייקט
jQuery,
במסגרת קריא חוזרת של
.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($) { // Code that uses jQuery's $ can follow here. }); // Code that uses other library's $ can follow here. </script>
אם דרוש, אנחנו יכולים לשחרר שם
jQuery
באמצעות העברה של
true
כי ארגומנט לשיטה.
זה הכרחי לעתים רחוקות, ואם אנחנו צריכים לעשות את זה
(
לדוגמה, אם אנחנו צריכים להשתמש במספר גרסאות של ספריה
jQuery
על אותו דף
),
אנחנו צריכים לקחת בחשבון, שרוב התוספים סומכים על קיום של ערך
jQuery
ויכולים לעבוד לא נכון במקרה הזה.דוגמאות
דוגמה 1
ממפה אובייקט מקורי שמייחס $ חזרה ל-$.jQuery.noConflict(); // Do something with jQuery jQuery("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
דוגמה 2
מחזיר כינוי$, ואחרי זה בונה ומפעיל פונקציה הצגה של כינוי
$
בהיקף של פונקציה.
בתוך הפונקציה אובייקט מקורי
$
לא נגיש.
זה עובד טוב עבור רוב התוספים, שלא מסתמכים על ספריות אחרות.
jQuery.noConflict();
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
דוגמה 3
אתם יכולים לצרףjQuery.noConflict() עם קיצור מוכן עבור קוד קומפקטי.
jQuery.noConflict()(function(){
// code using jQuery
});
// other code using $ as an alias to the other library
דוגמה 4
בונה כינויים שונים במקום jQuery כדי להשתמש בחלק אחר של הסקריפט.var j = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
דוגמה 5
מעביר לגמרי jQuery לשטח שמות חדש באובייקט אחר.האם מידע זה היה מועיל?

