⊗jsPmTrML 448 of 505 menu

Clics multiples sur un bouton pour démarrer un minuteur en JavaScript

Le code que j'ai cité ci-dessus a en réalité un certain problème. Ce problème se manifeste dans le cas où l'on effectue plusieurs clics sur notre bouton. Dans ce cas, chaque clic entraînera le démarrage d'un nouveau minuteur.

C'est-à-dire que, par exemple, trois appuis sur le bouton entraîneront le démarrage de trois minuteries, et chacune de ces minuteries affichera la valeur du compteur dans la console. Cela signifie que les valeurs changeront trois fois plus vite !

Pour résoudre le problème décrit, il suffit simplement de faire en sorte qu'un nouvel appui sur le bouton ne déclenche pas un nouveau démarrage du minuteur. Par exemple, on peut, après le démarrage du minuteur, détacher de le bouton le gestionnaire de clic attaché :

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // on détache le gestionnaire });

Prenez votre solution de la tâche précédente. Vérifiez que des appuis multiples sur le bouton accélère le décompte. Corrigez ce problème.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser