Bonjour,

J'ai créer deux classes et je cherchais à les faire interagir entre elles.
Le but c'était que le Visiteur cache en cliquant sur un bouton "confirmer", le bloc Canvas.

Ce code fonctionne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'use strict'
 
class Canvas {
  constructor() {
    this.canvas = document.getElementById('canvas');
  }
 
  cacherCanvas() {
    this.canvas.className = 'hide';
  }
}
 
 
class Visiteur {
  constructor() {
  }
 
 clickConfim(fonction) {
   this.confirm = document.getElementById('confirm');
   this.confirm.addEventListener('click', fonction);
 }
}
 
let x = new Canvas();
let utilisateur = new Visiteur();
 
utilisateur.clickConfim(() => {
  x.cacherCanvas(); });

Ce que je ne comprends pas, c'est qu'en écrivant simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
utilisateur.clickConfim(x.cacherCanvas());
la balise canvas est cachée dès le chargement de la page et ne répond donc pas au click.
Est-ce que quelqu'un pourrait m'expliquer pourquoi ?