Обработчиком назначить метод объекта 
		
		
		
		Привет. 
	Хочу создать объект чтоб он создавал элементы на страничке, хранил ссылки на них и чтобы события от них возвращались к нему же. Делаю так: 
function class1()  // прототип класса
{
    this.tagName='в объекте значение'; // по умолчанию 
	this.nazv='объект';                      //
	this.vivod1=function() {
	    alert(this.nazv+'\n'+this.tagName+'\n');
	}
}
var myobj=new class1(); // создаю
function func1()
{
	var obj=document.getElementById('ddd');// элемент div на странице
	var ob=document.createElement('SPAN');
	var o=document.createTextNode('Нажмите по мне');
	ob.appendChild(o);
	ob.onclick=myobj.vivod1; // !!!!!!!!!! - назначаю обработчик
	obj.appendChild(ob);
	
}
В коде вызываю: <a href="javascript:myobj.vivod1()">Проверка 1</a> - все естественно ОК Потом: <a href="javascript:func1()">Проверка 2</a> элемент создастся, но при нажатии на нем функция myobj.vivod1 вызывается так как будто не имеет никакого отношения к myobj. Так делать нельзя, да?  | 
	
		
 
function class1()  // конструктор класса
{
    this.tagName='в объекте значение'; // по умолчанию 
    this.nazv='объект';                      //
    var self = this;
    this.vivod1=function() {
        alert(self.nazv+'\n'+self.tagName+'\n');
    }
}
 | 
	
		
 Во Riim спасибо. Круто. 
	Читал недавно про замыкания, подумал что несколько надуманно и оставил потом уже разбираться поглубже. И по иронии почти сразу понадобилось :) Вообще для более глубокой работы в JS обязательно замыкания пригодятся, да? (в других языках такого способа работы не встречал вроде.)  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 18:55. |