متد 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)
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery("p").text("jQuery is still working!");
});
});
همچنین می توانید بجای واژه پیشفرض "jQuery"، میانبر خودتان را ایجاد کنید. به مثال زیر توجه فرمایید:
مثال (متد noconflict در jQuery)
jq(document).ready(function(){
jq("button").click(function(){
jq("p").text("jQuery is still working!");
});
});
اگر بلوکی از کدهای jQuery داشته باشید که از علامت $ بعنوان میانبر استفاده می کنند و نخواهید که علامت $ تغییر کند، می توانید با ارسال علامت $ بعنوان پارامتر به متد ()ready اجازه دهید که داخل این تابع از این علامت استفاده شود. در خارج از آن شما باید از "jQuery" بعنوان میانبر استفاده کنید:
مثال (متد noconflict در jQuery)
jQuery(document).ready(function($){
$("button").click(function(){
$("p").text("jQuery is still working!");
});
});
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 17907