0
votes

Utilisation de boucles avec les auditeurs d'événements: Comment l'interpréter?

Code (extrait de MDN)

const divs = document.querySelectorAll('div');

for (let i = 0; i < divs.length; i++) {
  divs[i].onclick = function(e) {
    e.target.style.backgroundColor = bgChange();
  }
}


1 commentaires

Cet exemple dit essentiellement de saisir tous les éléments div et attribuer un onclick gestionnaire d'événements à chacun de ces éléments. Cela ne se produit qu'une fois, mais une fois que les manutentionnaires d'événements sont affectés à tous les éléments div , ils déclencheront chaque fois que vous cliquez sur ces div s.


3 Réponses :


-2
votes

Votre compréhension [d'un pour la boucle ] n'est pas tout à fait juste. Lorsque vous cliquez sur, je commence toujours à 0 et que le script se répète - donc i augmente de 1 (i ++) jusqu'à ce que la longueur de divs . Ensuite, il continue à n'importe quel code après la boucle. Il n'effectue pas 1 action et attendez ensuite un autre clic. divs sera un tableau qui identifie tous les éléments

sur la page.

3 commentaires

Il n'y a rien répété dans ce code - la boucle pour fonctionne une seule fois et attribue des gestionnaires d'événements à chaque élément div . Ensuite, ces manutes sont exécutées chaque fois que vous cliquez sur un div .


C'est une explication terrible. Le clic ne change pas la valeur de i


L'explication était en référence à la boucle de la boucle que la compréhension de Wesley d'A pour la boucle est éteinte. Dossier, je pouvais probablement avoir référencé que dans ce que je disais ...



0
votes

La boucle pour la boucle itérale sur toutes les divs et ajoute un gestionnaire de clic sur chaque div.


1 commentaires

La NIFE n'est pas nécessaire lorsque laisse est utilisé dans la boucle



0
votes

i ++ est exécuté après chaque itération et de ma compréhension, chaque itération se produit lorsqu'un événement "Cliquez sur" sur n'importe quel DIV. P>

non. Chaque itération se termine lorsque le gestionnaire d'événements est attribué fort>, pas quand il est déclenché. P>

Lorsque le clic se produit est hors de propos. La boucle passe rapidement à travers tous les éléments pour mettre en place quelque chose pour arriver quand strong> ils sont cliqués. P>

vous pouvez voir cela en ajoutant une insole.log instruction à l'intérieur de la boucle. p>

p>

<div>***</div>
<div>***</div>
<div>***</div>
<div>***</div>
<div>***</div>


0 commentaires