smike
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by smike
-
-
Понимаю что во времена Angular, React и прочих фреймоврков может быть не очень актуально, но все же решил опубликовать свою простенькую библиотеку для огранизации плагинов старого доброго jQuery. Библиотека решает следующие задачи:
- Организация кода плагина в виде псевдо-класса
- Наследование плагинов
- Передача параметров в плагин
- Подключение плагинов к странице
- Ajax-перзагрузка плагинов
- Подписка на события
Если кому интересно, прошу сюда: https://bitbucket.org/grifix/envo
Примеры использования тут: https://bitbucket.org/grifix/envo/sr...les/?at=masterПример плагина:
(function ($) { var parent = envo.Plugin; // Плагин от которого наследуется данный плагин var prototype = envo.makePluginPrototype( 'demo.PluginA', // Название псевдо-класса плагина (используется при наследовнии) 'demo_pluginA', // Имя плагина (используется для подключиня плагина к DOM-элементам) parent, { message: 'Hello world!' //Конфигурация плагина по умолчанию } ); // Функция которая подключается к плагину в момент наложения его на DOM елемент prototype.init = function () { var that = this; that.elButton = that.find('button'); that.elButton.click(function () { that.showMessage(); }); parent.prototype.init.call(that); }; // Метод псевдо-класса плагина prototype.showMessage = function () { var that = this; alert(that.cfg.message); return that.el(); }; })(jQuery);
Плагин кототрый наследует предыдущий плагин:
(function ($) { var parent = demo.PluginA; var prototype = envo.makePluginPrototype( 'demo.PluginB', 'demo_pluginB', parent ); prototype.showMessage = function () { var that = this; parent.prototype.showMessage.call(that); confirm("Are you sure!"); return that.el(); }; })(jQuery);
Envo. Библиотека для организации и наследования плагинов jQuery
in JavaScript
Posted
Плюсы перечисленны в первом посте, подробнее в документации и в примерах