Все методы в классе выше работают нормально, если их вызывать.
Но когда я вызываю их с помощью addEventListener (Click), метод объекта open () делает не работает, но здесь работают и другие методы. Пожалуйста, помогите мне найти, где я допустил ошибку?
class Cell {
constructor (x,y) {
this.x = x
this.y = y
this.w = cellWidth
this.h = cellHeight
this.opened = false
this.hasMine = true
}
squareTest () {
c.beginPath()
c.rect(100,100,100,100)
c.stroke()
}
cellBody () {
c.beginPath()
c.fillStyle = "rgba(0, 100, 100, 0.1)"
c.strokeStyle = "rgba(0, 100, 100, 1)"
c.rect (this.x, this.y, this.w, this.h)
c.fill()
c.stroke ()
if (this.opened === true) {
if (this.hasMine === true) {
c.beginPath();
c.ellipse(this.x + this.w/2, this.y + this.w/2, 10, 10, 15,0,Math.PI*2,false);
c.stroke()
}
}
}
open () {
if(this.opened == false) {this.opened = true}
}
}
}
// Я удалил некоторый код здесь, чтобы сделать это сообщение short.
// функция open () работает нормально без addEventListener (Click), // но другие методы работают везде, так что же отличается от open ()?
// table [ 0] [0] является объектом ячейки класса
table[0][0].open();
// works fine here
table[0][0].squareTest();
// works fine here
canvas.addEventListener ('click', function (event)
{
table[0][0].open(); // DOES NOT WORK HERE
table[0][0].squareTest(); //works fine here
console.log (table[1][1]); //works fine
}
)
table[0][0].open();
// works fine here