[jQuery] [Обработка клика] Как не потерять текущий контекст внутри обработчика?
Здравствуйте!
Есть у меня объект, называемый "Панель управления". На нем, для упрощения, одна кнопка. Нужно при клике на эту кнопку, выполнять некие действия и вызывать функции в контексте объекта "Панель управления". Проблема в том, что обработчик клика, являясь встроенной функцией, имеет собственный контекст исполнения. И я не могу понять, как из обработчика достучаться до функций объекта "Панель управления". Пример кода (в комментариях слово "класс" используется только для удобства понимания): Код:
// Панель управления Вопрос по приведенному коду: как из обработчика кнопки PLAY вызвать this.update() ? |
Все, решение найдено.
В вышеприведенном примере можно отказаться от встраиваемой функции, а сделать функцию-обработчик, например this.on_click_play(). Привязать ее можно так: Код:
$("#lb_key_play").bind('click', {obj: this}, function(event){ event.data.obj.on_click_play()}); |
Часовой пояс GMT +3, время: 10:12. |