Показать сообщение отдельно
  #1 (permalink)  
Старый 05.05.2011, 18:17
Аватар для Lerayne
Интересующийся
Отправить личное сообщение для Lerayne Посмотреть профиль Найти все сообщения от Lerayne
 
Регистрация: 05.05.2011
Сообщений: 10

Классы и наследование
Описываю класс:

function Item (row, type) {
	appendKids ( this.container	= newel('div', type, type+'_'+row['id'])
		, this.before_cell	= newel('div', 'before_cell')
		, this.data_cell	= newel('div', 'data_cell')
		, this.after_cell	= newel('div', 'after_cell')
	);
}


(newel - простенькая обертка для создания элемента с классом и ID, appendKids - функция, поочередно добавляющая к первому аргументу все последующие в качестве дочерних)
Далее - обьявляю класс, который наследует первый:

function extend(Parent, Child) {
	var F = function() { }
	F.prototype = Parent.prototype
	Child.prototype = new F()
	Child.prototype.constructor = Child
	Child.superclass = Parent.prototype
}

function Topic (row, type) {
	
	var clickload = function(){
		alert('test!');
	}
	this.after_cell.onclick = clickload;
}

extend(Item, Topic);

somevar = new Topic(row, type);


Получаю ошибку "this.after_cell is undefined" то есть свойство не передается.

Что я делаю не так?

Последний раз редактировалось Lerayne, 05.05.2011 в 18:20.
Ответить с цитированием