Problèmes avec setTimeout et addEventListener
hh
hh 2020-07-12 18:03:35
0
1
1185

Il s'agit d'un code écrit sur un débutant

setTimeout, peu importe la durée pendant laquelle il est défini, innerHtml affichera directement le résultat final

Pourquoi est-ce

<!DOCTYPE html>

< ;html> ; ;

<head>

<meta charset="utf-8">

<title>Tutoriel Rookie (runoob.com)</title>

</head>

< body>

Le document ajoute un gestionnaire d'événements onmousemove, qui affichera des nombres aléatoires lorsque la souris est déplacée dans le document.

Cliquez sur le bouton pour supprimer le gestionnaire d'événements.

<button id='demo1'>cliquez sur moi</button>

<p id="demo">

<script>

document.getElementById("demo1") addEventListener. ("click", maFonction);

var time = 5;

function maFonction() {

document.getElementById("demo").innerHTML = time;

removeHandler(time);

}

function removeHandler(i) {

i--;

document.getElementById("demo").innerHTML = i;

setTimeout(removeHandler(i),1000);

}

</script>

</body>

</html>

hh
hh

répondre à tous(1)
Peter-Zhu

La fonction de rappel de setTime() est exécutée de manière asynchrone. Ce n'est que lorsque la pile d'appels principale est effacée qu'elle entrera dans la pile d'appels à partir de la file d'attente des tâches, donc la situation que vous avez mentionnée se produira

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal