Задать вопрос
Morterset
@Morterset
Программист

Как передать объект в событие?

Есть класс. В нем идет обработка событий. Как сделать чтоб при срабатывании события можно было нормально работать с классом?
Вот такая штука не вариант
this.canvas_object.addEventListener("click", function() { this.click(this); }, false);


class Canvas{
	
	constructor(canvas_id) {
	        this.canvas_object = document.getElementById(canvas_id);
	        this.ctx = this.canvas_object.getContext('2d');
	        this.canvas_object.addEventListener("click", this.click, false); // Слушаем события	
	}
	
	click (){
	        console.log('нажал');
                this.ctx.fillStyle = "green";
	        this.ctx.fillRect(50, 50, 100, 100);
             // Вот здесь нужны данные объекта
// Понятно что this не работает, но нужно как то передать этот объект. Есть варианты?
	}

}
  • Вопрос задан
  • 385 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
this.canvas_object.addEventListener("click", this.click.bind(this), false);
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
this.canvas_object.addEventListener("click", () => this.click(), false);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы