طريقة jQuery noConflict()

كيفية استخدام jQuery وغيره من الإطارات في نفس الصفحة؟

jQuery وغيره من إطارات JavaScript

كما تعلمون بالفعل، يستخدم jQuery رمز $ كإختصار لـ jQuery.

ماذا إذا كان الصيغ الأخرى لـ JavaScript تستخدم أيضًا رمز $ كاختصار؟

بعض الصيغ الأخرى لـ JavaScript تشمل: MooTools، Backbone، Sammy، Cappuccino، Knockout، JavaScript MVC، Google Web Toolkit، Google Closure، Ember، Batman و Ext JS.

بعض الصيغ التي تستخدم رمز $ كاختصار (مثل jQuery) أيضًا، إذا كنت تستخدم إثنين من الصيغ المختلفة وكانت تستخدم نفس الرمز الاختصار، قد يؤدي ذلك إلى توقف السكربت عن العمل.

أخذ فريق jQuery هذه المشكلة بعين الاعتبار ووضع طريقة noConflict().

طريقة jQuery noConflict()

يحرر طريقة noConflict() التحكم في العلامة $، مما يسمح لأي سكربت آخر باستخدامه.

مثال

بالطبع، يمكنك استخدام الاسم الكامل بدلاً من الاختصار لتشغيل jQuery:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery لا يزال يعمل!");
  });
});

جربها بنفسك

مثال

يمكنك أيضًا إنشاء اختصار خاص بك. يمكن للطريقة noConflict() إرجاع مرجع لـ jQuery، يمكنك حفظه في متغير واستخدامه لاحقًا. انظر إلى هذا المثال:

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery لا يزال يعمل!");
  });
});

جربها بنفسك

مثال

إذا كان ملفك الخاص بـ jQuery يستخدم اختصار $، وأنت لا تريد تغيير هذا الاختصار، فإنه يمكنك إرسال رمز $ كمعلمة إلى طريقة ready. بهذا يمكنك استخدام رمز $ داخل الدالة - وعلى الرغم من ذلك، لابد أن تستخدم "jQuery" خارج الدالة:

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery لا يزال يعمل!");
  });
});

جربها بنفسك

دليل مرجعي رئيسي لـ jQuery

للحصول على نظرة عامة على طرق نواة jQuery الكاملة، يرجى زيارة دليل مرجعي رئيسي لـ jQuery