PDA

نسخه کامل مشاهده نسخه کامل : سوال در مورد jQuery.noConflict()



am2
24-06-2011, 19:45
سلام
میخواستم ببینم کار این دستور چیه؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


راستش من توی یک قالب مشکلی که دارم اینه که یک فایل جاوا اسکریپت هست که اگه اون رو حذفش کنم اسکریپتهای دیگه که به قالب اضافه میکنم کار میکنن و در صورتی که اون فایله لود بشه اسکریپتهایی که خودم اضافه میکنم لود نمیشن..یعنی لود میشن ولی کار نمیکنن...این فایل رو هم اگه حذف کنم خود قالب اسکریپتهاش که بصورت پیشفرض هست مثل اسلایدر و .. اون کار نمیکنن


متن اون اسکریپت اینه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
راستش من یه عالمه روش فکر کردم و به این نتیجه رسیدم هرچی هست مشکل به نظرم از خط اولش یعنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هست..توی گوگل هم سرچیدم و دیدم انگاری کار این کد اینه که jquery که بصورت پیشفرض روی $ هست رو برمیداره درسته؟:31:


کسی میتونه کمکم کنه روش حل این مشکل رو بهم بگه...مرسی؟؟؟:40::11::40:

m.m.m5651
24-06-2011, 19:56
من که چیزی از اسکریپتی که شما زدین سر در نیوردم.

am2
24-06-2011, 20:43
خب این اسکریپته یه سری از ایفکتها و .. قالبهه...که بیشتر هم فانکشنهاست درسته؟به نظرم همون خط اول با بقیه اسکریپتها مشکل ایجاد میکنه درست میگم؟

am2
25-06-2011, 20:32
یعنی کسی کار این تکه کد رو نمیدونه؟
var $j = jQuery.noConflict();

m.m.m5651
25-06-2011, 20:50
اسکریپت های دیگه رو بالای این کد قرار بدید ببینید کار می کنه یا نه.

m.m.m5651
26-06-2011, 19:02
درست شد کد شما؟

am2
29-06-2011, 09:34
اقا مرسی از پاسختون
راستش من این مدت به اینترنت دسترسی نداشتم...روشی هم که گفتین تست کردم ولی نتیجه ای نداشت و باز اسکریپتهام کار نمیکنه اسکریپت رو هم عوض میکنم ولی نتیجه ای نداره... راه دیگه ای به نظرتون نمیرسه؟
راستی این قالب رو توی این تایپیک هم گذاشتم اصل قالبه..میشه یکی اون رو نصب کنه و ببینه مشکلش از چیه؟
مرسییییییی:40:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

vahid216
02-07-2011, 08:36
این کد jQuery.noConflict() باعث جلوگیری از اختلال توی کد های بر پایه jquery می شه . یعنی اینکه مثلا شما چند تا از پلاگین های jQuery رو دارید به تنهایی کار می کنن ولی همزمان نه چون بر روی همدیگه تاثیر می زارن این باعث جلوگیری از این کار می شه.
موفق باشید

am2
03-07-2011, 09:49
وحید جان مرسی از راهنماییت
الان مشکل من برعکسس شده که پلاگینهای کوئری برام کار نمیکنن...میشه عیب از این کد باشه؟

mohrd
03-07-2011, 10:32
از خطی که کد var $j = jQuery.noConflict(); قرار بگیره (به بعد)، جی کوئری دیگه علامت $ رو نمیشناسه. و باید به جای این علامت از $j استفاده کنید. به همین خاطر پلاگین های جی کوئری دیگه به هم ریخته. (یا باید var $j = jQuery.noConflict(); رو حذف کنید و در کدی که قرار دادید، همه ی $j ها رو با $ جایگزین کنید، و یا از var $j = jQuery.noConflict(); استفاده کنید و همه ی پلاگین ها رو ویرایش کنید و $ رو با $j جایگزین کنید)

مسئله اینجاست که خیلی از frameworkهای جاوا اسکریپت، از همین علامت $ استفاده می کنند. و در صورتی که بخواهید 2 framework رو کنار هم به کار ببرید، به مشکل بر می خورید. برای رفع این مشکل، از jQuery.noConflict() استفاده می کنند.
اطلاعات بیشتر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید ./.

am2
03-07-2011, 15:52
پس یعنی اگه من کدهام رو قبل این کد بزارم دیگه حله مشکلم و باید اجرا بشن درسته؟ولی من این کار رو کردم بازم کار نکردن..چرا؟

am2
18-07-2011, 20:15
من هنوز با این قالب مشکل دارم...کسی نمیتونه کمکم کنه؟

mohrd
22-07-2011, 11:06
سلام!
ساده ترین راه حل اینه که شما کد jQueryتون رو قبل از فایل custom.js لود کنید. یعنی قبل از خط زیر بگذارید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

am2
22-07-2011, 11:53
مرسی از پاسختون ولی من همین کار رو میکنم ولی بازم مشکل داره...و اجرا نمیشه..حتی کد جکوئری رو مستقیما پس از لود خود جکوئری میزارم ولی بازم برام اجراش نمیکنه...موندم چیکار کنم..:(