Je ces variables, se référant à un bouton et une boîtefonctions appelées en exécutant écouteur d'événement sans l'événement
var showGreen = document.getElementById("showGreen");
var greenBox = document.getElementById("greenBox");
Ces fonctions sont appelées par les auditeurs d'événements
function showBox(myElement){
myElement.style.display = "block";
}
function hideBox(myElement){
myElement.style.display = "none";
}
showGreen.addEventListener("click", showBox(greenBox));
hideGreen.addEventListener("click", hideBox(greenBox));
Cependant, rien ne se passe Je clique sur le bouton J'ai remarqué que se débarrasser de la fonction hideBox fait apparaître la boîte instantanément, donc je pense que les fonctions sont en cours d'exécution indépendamment de tout ce qui est cliqué ou non. Pourquoi? Le code complet est ici: http://jsbin.com/poxutopuhu/edit?html,css,js,output
Vous devez passer une fonction, pas résultat de l'appel – Bergi
Vous pouvez lier la boîte: '... addEventListener (" click ", showBox.bind (this, greenBox))' –