À l'aide de clearTimeout d'annuler un événement de délai d'attente
J'ai le code suivant mais clair délai d'attente ne fonctionne pas et je ne comprends pas pourquoi, quelqu'un a une idée? (En utilisant le Prototype de cadre)
function foo() {
$("navigation").observe('mouseover',
function (event) {
clearTimeout(bar);
}
).observe('mouseout',
function (event) {
setTimeout(bar, 1000);
}
);
}
function bar() {
alert("hi");
}
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour stocker le résultat de
setTimeout
dans une variable, et l'utilisationclearTimeout
pour effacer cette variable, pas la fonction:Parce que le
clearTimeout
la fonction de prendre l'argument retourné par lesetTimeout
fonction:Voir la mozilla docs sur de la fenêtre.setTimeout():
setTimeout renvoie en fait une référence que vous pouvez utiliser pour effacer l'expiration: