recherche

Maison  >  Questions et réponses  >  le corps du texte

Problèmes avec setTimeout et addEventListener

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>

hhhh1640 Il y a quelques jours1221

répondre à tous(1)je répondrai

  • 天蓬老师

    天蓬老师2020-07-17 19:57:46

    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

    répondre
    0
  • Annulerrépondre