ستاپ اتوماتیک
تنظیم کن و فراموش کن!
این قالب با استفاده از یک پلاگین خلاقانه و با استفاده از متد های جی کوئری میتواند تشخیص دهد که چه زمانی در آن متن قرار داده شده و چه زمانی متن از آن حذف میشود و بر اساس آن افکت های مناسب را اعمال میکند. به عنوان مثال انتخاب استایل و سوئیچ ها، فعال کردن اسکرول سفارشی و ... مفهوم این مسئله چیست؟ کد کوچکتر و تمیز تر و عدم نیاز به فراخوانی فانکشن ها برای هر محتوایی که به صورت ایجکس بارگذاری میشود.
در پایین آن را امتحان کنید : روی دکمه کلیک کنید تا محتوایی به صورت ایجکس در باکس پایین صفحه بارگذاری شود، هیچ callback ای تنظیم نشده ولی پلاگین ها به صورت اتوماتیک فعال میشوند:
ستاپ اتوماتیک در زمان شروع و یا هر زمانی که DOM توسط جی کوئری تغییر داده شود، صدا میشود. این به این مفهوم است که حتی پلاگین های بیرونی نیز از این مسئله بهره میبرند. این امکان همچنین یک متد پاکسازی برای پاک کردن مارکاپ قبل از حذف آن نیز ارائه میدهد، به این مفهوم که به عنوان مثال همه ی تولتیپ های باز، حذف میشوند. کسانی که از چنین پلاگینی استفاده کرده باشند میدانند درباره چه چیزی صحبت میکنیم .....
توسعه پذیری
میخواهید کار بیشتری توسط ستاپ اتوماتیک انجام شود؟ مشکلی نیست، یک تابع برای این کار وجود دارد : به عنوان مقال اگر در نظر بگیریم که شما یک پلاگین WYSIWYG دارید که باید بر روی هر ناحیه نوشتاری دارای کلاس خاص در برنامه شما اعمال شود، چنین چیزی خواهیم داشت :
/**
* Add a new global setup function. The function should accept 2 arguments:
* - self (whether the current element should be affected or not)
* - children (whether the element's children should be affected or not)
*/
$.template.addSetupFunction(function(self, children)
{
// Here comes your custom code
this.findIn(self, children, 'textarea.wysiwyg').initEditor();
});
به محض اینکه این تابع ست شود، در هر زمان در برنامه شما اجرا خواهد شد، حتی در زمانی که محتوا را به صورت ایجکس بارگذاری میکنید. خیلی تمیز است! نه؟ حالا میتوانید به کارتان ادامه دهید و فراموشش کنید!
بدیهی است که اگر بخواهید عملیات سنگین DOM انجام دهید، میتوانید این پلاگین را در زمان استارتاپ، غیر فعال یا فعال نمایید.
سلام