سبد (0)

متد noconflict در jQuery

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


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

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

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

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

  • MooTools
  • Backbone
  • Sammy
  • Cappuccino
  • Knockout
  • JavaScript MVC
  • Google Web Toolkit
  • Google Closure
  • Ember
  • Batman
  • Ext JS

بعضی از کتابخانه های دیگر 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.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه