متد noConflict()

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Jquery-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵انتخابگرها (Selectors)
۶رویدادها
جلوه‌ها در jQuery
۱نمایش دادن / پنهان کردن
۲محو شدن
۳اسلاید
۴متحرک ساختن
۵stop()
۶فراخوانی (Callback)
۷زنجیره‌سازی (Chaining)
HTML در jQuery
۱Get
۲Set
۳اضافه‌کردن (Add)
۴حذف‌کردن
۵کلاس‌های CSS
۶css()
۷ابعاد
پیمودن در jQuery
۱پیمودن (Traversing)
۲اجداد
۳نسل‌ها
۴برادرها (Siblings)
۵فیلترکردن
AJAX در jQuery
۱مقدمهٔ AJAX
۲بارگذاری
۳Get/Post
متفرقه‌های jQuery
۱noConflict()
۲فیلترها
مثال‌ها
۱مثال‌ها
مرجع‌ها

اگر بخواهید همزمان با استفاده از jQuery از فریم ورک‌های دیگری استفاده کنید چه می‌شود؟[۱]

jQuery و Frameworkهای دیگر جاوا اسکریپت

همان‌طور که می‌دانید؛ jQuery از نماد $ بعنوان میانبری برای jQuery استفاده می‌کند.

فریم ورک‌های معروف جاوا اسکریپت دیگری نیز وجود دارند مانند: Angular, Backbone, Ember, Knockout و غیره.

چه می‌شود اگر فریم ورک‌های دیگر جاوا اسکریپت هم از نماد $ بعنوان میانبر استفاده کنند؟

اگر دو فریم ورک متفاوت از یک میانبر استفاده می‌کنند، یکی از آن‌ها ممکن است متوقف شود.

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

متد noConflict() در jQuery

متد noConflict() نگهداری شناسه میانبر $ را آزاد می‌کند تا اسکریپت‌های دیگر بتوانند از آن استفاده کنند.

البته هنوز هم می‌توانید به سادگی و با نوشتن نام کامل بجای استفاده از میانبر، از jQuery استفاده کنید:

مثال
1 $.noConflict();
2 jQuery(document).ready(function(){
3   jQuery("button").click(function(){
4     jQuery("p").text("jQuery is still working!");
5   });
6 });

همچنین می‌توانید خیلی ساده میانبر خود را تعریف کنید. متد noConflict() یک ارجاع به jQuery برمی‌گرداند که شما می‌توانید آن را برای استفاده‌های بعدی در یک متغیر ذخیره کنید. در اینجا یک مثال آمده‌است:

مثال
1 var jq = $.noConflict();
2 jq(document).ready(function(){
3   jq("button").click(function(){
4     jq("p").text("jQuery is still working!");
5   });
6 });

اگر بلوکی از کدهای jQuery دارید که از میانبر $ استفاده می‌کند و شما نمی‌خواهید همهٔ آن را تغییر دهید، می‌توانید نماد $ را بعنوان یک پارامتر به متد ready پاس کنید. این کار باعث می‌شود با استفاده از $ داخل این تابع به jQuery دسترسی داشته باشید- خارج از آن باید از “jQuery” استفاده کنید:

مثال
1 $.noConflict();
2 jQuery(document).ready(function($){
3   $("button").click(function(){
4     $("p").text("jQuery is still working!");
5   });
6 });

مرجع jQuery Misc

برای مرور کامل همه متدهای jQuery Misc، لطفاً از مرجع jQuery Misc ما بازدید کنید.


منابع آموزشی