(Re) Bonjour,
Excuses-moi pour l'attente ;-)
"Je sais qu'il existe déjà des bibliothèques plus ou moins poussées pour ça, mais j'aime bricoler pour comprendre comment ça marche ;-)"
Excellent ! C'est comme ça qu'on apprend.
Le onclick ect c'est l'équivalent des addEventListener, c'est juste que c'est déconseillé au profit des eventListeners ;)
Là en gros tu te retrouves avec les fonctions show et hide dans le scope global. Je te conseille plutôt d'utiliser une factory dans ce cas.
Une factory c'est un bien grand mot pour désigner quelque chose de très très simple :
C'est une fonction qui retourne un objet.
Dans ton cas :
const Modal = function () {
return {
hide () {}, // = hide: function () {}
show () {}
}
}
const modal = Modal()
Ainsi tu as un objet modal qui contient tes fonctions.
Le gros problème avec javascript c'est que tu as 1 milliards de méthodes différente pour arriver au même but, mais les factory c'est très utilisé (et simple).