⊗jsPmTrML 448 of 505 menu

Daugkartis mygtuko paspaudimas laikmačio paleidimui JavaScript

Aukščiau pateiktas kodas iš tikrųjų turi tam tikrą problemą. Ši problema pasireiškia tuo atveju, jei mūsų mygtukas yra paspaustas kelis kartus. Tokiu atveju kiekvienas paspaudimas paleis naują laikmatį.

Tai yra, pavyzdžiui, trys mygtuko paspaudimai sukels tai, kad bus paleisti trys laikmačiai, ir kiekvienas iš šių laikmačių išves skaitiklio reikšmę į konsolę. Tai reiškia, kad reikšmės keisis tris kartus greičiau!

Norint išspręsti aprašytą problemą, tiesiog reikia padaryti taip, kad pakartotinis mygtuko paspaudimas neleistų naujo laikmačio. Pavyzdžiui, galima po laikmačio paleidimo atjungti nuo mygtuko susietą paspaudimo apdorojimo funkciją:

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // atjungiame apdorojimo funkciją });

Paimkite savo ankstesnės užduoties sprendimą. Patikrinkite, ar daugkartis mygtuko paspaudimas sukelia skaičiavimo pagreitėjimą. Išspręskite šią problemą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti