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);
Question
morohon
Здравствуйте. Есть проблемы с наследованием. Не могу понять, что работает не так. Подскажите пожалуйста, если не затруднит.
код представлен здесь: http://www.morohon.pusku.com/panel/ (там размеры изображения скачут)
css
html
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.