Здравствуйте!
Есть у меня объект, называемый "Панель управления". На нем, для упрощения, одна кнопка. Нужно при клике на эту кнопку, выполнять некие действия и вызывать функции в контексте объекта "Панель управления".
Проблема в том, что обработчик клика, являясь встроенной функцией, имеет собственный контекст исполнения. И я не могу понять, как из обработчика достучаться до функций объекта "Панель управления".
Пример кода (в комментариях слово "класс" используется только для удобства понимания):
Код:
|
// Панель управления
function ControlPanel()
{
// jQuery - элемент, к которому привязывается данный класс
var control_panel_div;
this.init = function(ipanel_div)
{
// Запоминается элемент, к которому прикреплен экземляр класса
control_panel_div=ipanel_div;
// Создание области с кнопкой PLAY
var key_play_tag='<div id="lb_key_play"><img src="pic/key_play.png"/></div>';
// Кнопка добавляется
control_panel_div.append(key_play_tag);
// Обработчик кнопки PLAY
$("#lb_key_play").click(
function()
{
$("#lb_key_play").fadeOut(20);
$("#lb_key_play").fadeIn(20);
// Тут какие-то действия
// Проблема в том, что контекст текущего класса теряется
// И невозможно вызвать методы текущего класса, например, this.update()
}
);
}
this.update = function()
{
...
}
} |
Вопрос по приведенному коду: как из обработчика кнопки PLAY вызвать
this.update() ?