J'essaie de définir "mouseactive" sur true moins d'une seconde après un raccourci clavier, mais je souhaite annuler cette action si la touche est enfoncée pendant cette période. Cependant, je n'arrive pas à comprendre comment faire cela. Voilà ce que j'ai ...Résolution des problèmes setTimeout
$(window).keydown(function(e) {
if (e.keyCode == 40) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
} else if (e.keyCode == 38) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
}
});
function mouseActive() {
mouseactive = true;
}
Mais cela ne fonctionne pas, il ne précise pas mouseactive sur true ... quelqu'un peut me dire ce que je fais mal ici?
Vous ne devriez pas passer de chaînes à 'setTimeout', vous devriez passer des fonctions. Il utilise 'eval' quand une chaîne est passée. 't = setTimeout (mouseActive, 800);' –
@Rocket mm .. Je viens de nettoyer son code .. que trop inclus dans le nettoyage .. Merci! Je l'ai eu comme chaîne dans mon message initial avant le nettoyage. –
Merci, cela a fait l'affaire, très apprécié. – Ian