Я хочу, чтобы закрыть свое окно (только DIV с позицией абсолютной, который перетаскиваемый), когда я нажимаю на тесной связиООП в JavaScript с обратными вызовами
Это мой код
function ApplicationWindow() {
this.window = $('<div class="window"></div>');
this.create = function create() {
//.....
var closeButton = this.window.find('.close');
closeButton.live('click', this.close);
}
this.close = function close() {
this.window.fadeOut(200);
};
}
Когда я нажимаю на кнопке закрытия функция закрытия выполняется, но проблема в том, что я получаю сообщение об ошибке «this.window undefined». Это потому, что функция close передается как обратный вызов, я думаю, но мой вопрос заключается в том, как я могу решить это с хорошим способом?
Использование глобальной среды для привязки функции к переменной не обязательно является чистым решением, однако оно будет работать. –
@Yuval: это не глобально, это только в рамках функции ApplicationWindow ... – Seb
@Yuval: если вы объявляете переменные с помощью 'var', вы устанавливаете область действия только на текущую функцию. Если вы этого не сделаете, тогда да, вместо этого используется глобальная область. – Seb