Добрый день!
Есть такой код:
;(function($, window, document, undefined) {
'use strict';
var AdminFields = function(template, appendBlock){
// Шаблон для вставки новых блоков с полями
this.template = $(template).clone(true, true);
// Блок, куда будет уставлять блоки
this.appendBlock = $(appendBlock);
console.log(this.appendBlock);
};
AdminFields.prototype = {
// Добавить блок с полями
addFields: function(){
var self = this;
console.log(self.appendBlock);
},
// Удалить последний блок с полями
removeFields: function(){
var self = this;
},
// Удалить все добавленные блоки с полями
removeAllFields: function(){
var self = this;
}
};
window.AdminFields = AdminFields;
})(jQuery, window, document);
Вызов методов:
var adminFields = new AdminFields('#cms_formfieldshablone', '#newFields');
console.log(adminFields);
$('#addFields').on('click', adminFields.addFields);
$('#removeFields').on('click', adminFields.removeFields);
$('#removeAllFields').on('click', adminFields.removeAllFields);
Там есть метод
addFields, почему он, при вызове, выводит мне в консоль undefined, а в самом конструкторе, строка
console.log(this.appendBlock); как и должно быть, выводит в консоль мой элемент?
Пример на
fiddle