متد noconflict در jQuery

چاپ

چه می شود اگر بخواهید علاوه بر کتابخانه jQuery از کتابخانه های دیگر JavaScript نیز استفاده کنید.


jQuery و دیگر کتابخانه های JavaScript

همانطور که می دانید، jQuery از علامت $ بعنوان یک میانبر (shortcut) برای دسترسی به عناصر استفاده می کند.

چه اتفاقی می افتد اگر کتابخانه های دیگر JavaScript نیز از علامت $ بعنوان میانبر استفاده کنند؟

بعضی دیگر از کتابخانه های معروف JavaScript:

بعضی از کتابخانه های دیگر JavaScript از علامت $ بعنوان میانبر استفاده می کنند (درست مانند jQuery)، در صورت استفاده همزمان از این کتابخانه ها ممکن است در اجرای برنامه به مشکل بربخورید.

تیم jQuery قبلاً درباره این موضوع اندیشیده اند و نهایتاً، متد ()noConflict را پیاده سازی کرده اند.


متد ()noConflict در jQuery

متد ()noConflict، علامت $ را برای استفاده دیگر کتابخانه ها آزاد می کند.

البته بصورت خیلی ساده با نوشتن "jQuery" بجای "$" می توانید از امکانات jQuery استفاده کنید.

مثال (متد noconflict در jQuery)

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery is still working!");
  });
});
خودتان امتحان کنید »

همچنین می توانید بجای واژه پیشفرض "jQuery"، میانبر خودتان را ایجاد کنید. به مثال زیر توجه فرمایید:

مثال (متد noconflict در jQuery)

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery is still working!");
  });
});
خودتان امتحان کنید »

اگر بلوکی از کدهای jQuery داشته باشید که از علامت $ بعنوان میانبر استفاده می کنند و نخواهید که علامت $ تغییر کند، می توانید با ارسال علامت $ بعنوان پارامتر به متد ()ready اجازه دهید که داخل این تابع از این علامت استفاده شود. در خارج از آن شما باید از "jQuery" بعنوان میانبر استفاده کنید:

مثال (متد noconflict در jQuery)

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery is still working!");
  });
});
خودتان امتحان کنید »

 For a complete overview of all jQuery Misc methods, please go to our jQuery Misc Reference.