Я создал свой класс, который создает DIV и IFRAME, в общем имитация всплывающего окна. Хотелось бы сделать так, чтобы на этом всплывающем окне при создании его, добавлялась кнопка(ну или сссылка) для закрытия этого окна.
Тоесть у объекта есть метод
close(), который его закрывает. Все методы у меня работают, окно создается и сама функция
close() тоже работает верно, вопрос не как их реализовать, а как сделать так, чтобы кнопка или ссылка, по клику на которой добавлялась именно в функции создания "окна", т.к
this.close() тут не прокатит, а надо вызывать метод из конкретного экземпляра объекта. МОжно ли как либо внутри класса получить имя экземпляра объекта?
create()
{
//......
//создается DIV и IFRAME
//.......
//а здесь добавим ссылку, по которой окно должно закрыться
var tmp = this.div.innerHTML;
this.div.innerHTML = "<a onclick=close()>Закрыть[X]</a>" + tmp;
}
в приведенном мною псевдокоде видим
onclick=close(). Но тут будет ошибка, т.к
close() - это метод объекта.
this.close() тут тоже не сделаешь. Пока что мне приходит в голову только после создания экземпляра объекта передавать этому экземпляру его имя как строку както так:
create(instName)
{
......
var tmp = this.div.innerHTML;
this.div.innerHTML = "<a onclick=" + instName + ".close()>Закрыть[X]</a>" + tmp;
}
но хотелось бы чтобы при использовании класса не надо было заботиться о том чтобы передавать имя объекта, а как то получить его внутри метода
create().
Или, возможно есть какое то другое решение данной проблемы? Буду признателен за любую помощь