le son lors du clic sur un bouton fonctionne pour un mais pas pour TOUS

Quelqu'un peut-il me montrer pourquoi si j'essaie de jouer un son comme ça

const button = document.querySelector(".button");
button.addEventListener("click", function () {
document.getElementById("click").play("click.mp3");
});

le son ne jouera que sur le premier bouton (je comprends car il cible le premier élément) avec la classe.button mais si j'utilise querySlectorAll ça ne joue pas du tout s'il vous plait?

Et comment puis-je le faire jouer dans tous les boutons avec la classe.button?

Merci d'avance.

Merci à Barmar d'avoir suggéré d'utiliser une boucle. J'ai aimé ci-dessous et ça marche très bien.


for (let button of buttons) {
button.addEventListener("click", function () {
document.getElementById("click").play("click.mp3");
});
console.log(button);
}


Solution du problème

Dans mon cas, une solution efficace sera addEventListener au parent qui contient ces boutons et fera une condition de vérification que si l'élément cliqué a une classe ou un attribut de données, alors faites jouer votre son.

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"