آموزش جی کوئری – متد noConflict جی کوئری

  • آپدیت شده در تاریخ

آموزش جی کوئری

در بخش قبلی با تکنیک Ajax در جی کوئری آشنا شدیم. در این قسمت از سری جلسات آموزش جی کوئری, قصد داریم حالت No-Confilct را با استفاده از متد noConflict جی کوئری یاد بگیریم.

 

استفاده از جی کوئری به همراه دیگر کتابخان های جاوا اسکریپت

همانطور که می دانید, jQuery از علامت دلار ($) به عنوان میانبر یا آلیاس برای jQuery است.

بنابراین, اگر از یک کتابخانه جاوا اسکریپت دیگر که از علامت $ به عنوان میانبر استفاده می کند را  به همراه کتابخانه جی کوئری در صفحه یکسان استفاده کنید, تداحل یا حالت Conflict پیش می آید.

خوشبختانه, jQuery یک متد خاص  به نام noConflict() برای حل مشکل در این شرایط ارایه داده است.

 

متد noConflict جی کوئری

متد jQuery.noConflict() کنترل شناسه گر $ را به دیگر کتابخانه ها برگشت می دهد.

کد jQuery در مثال زیر (خط ۱۰) جی کوئری را بلافاصله بعد از بارگزاری آن در صفحه به حالت no-Conflict تغییر می دهد و یک نام متغیر جدید $j به جای آلیاس $ را به منظور جلوگیری از تداخل با نمونه اولیه فریمورک, جایگزین می کند.

نکته: بیشتر کتابخانه های جاوا اسکریپت مانند جی کوئری از $ به عنوان تابع یا نام متغیر استفاده می کند, بعضی از این کتابخانه ها mootools, prototype, zepto

به هر حال اگر به دلایلی مثل نداشتن تمایل برای ویرایش نکردن کد جی کوئری خود یا دوست داشتن $ به خاطر آسانی استفاده و ذخیره زمان, نمی خواهید که یک میانبر دیگر برای jQuery تعریف کنید, پس می توانید از یک راه آسان دیگر استفاده کنید.

به اینصورت که $ را به عنوان یک آرگومان به تابع jQuery(document).ready() پاس بدید. مثل این :

 

بارگزاری jQuery قبل از دیگر کتابخانه ها

راه حل بالا برای جلوگیری از تداخل, بر روی بارگذاری جی کوئری بعد از لود شدن prototype.js تمرکز دارد.

به هرحال, اگر جی کوئری را قبل از دیگر کتابخانه ها لود کنید, شاید نیاز باشد از نام کامل jQuery در کد خود استفاده کنید تا بدون نیاز به صدا زدن jQuery.noConflict() از تداخل جلوگیری کنید.

اما در این سناریو $ همان معنی تعریف شده در دیگر کتابخانه ها را دارد.

امیدوارم در این بخش آموزش جی کوئری, از آموزش متد noConflict جی کوئری نهایت استفاده را برده باشید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق باشید

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
دیدگاه کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    دوره های آموزشی