Quel est le meilleur moyen d'extraire l'objet événement lors de l'utilisation de setTimeout? J'utilise jQuery pour gérer la normalisation du modèle d'événement dans tous les navigateurs, mais je ne suis pas sûr de savoir comment placer l'objet 'e' dans la fonction checkPos.Javascript setTimeout appel de fonction avec argument d'événement?
Mon code actuel:
function MouseDownEvent(e) {
*snip*
timeoutID = setTimeout(checkPos(e), 500);
}
function checkPos(e) {
//function uses e on a timeout of 500ms
timeoutID = setTimeout(checkPos(e) }, 500);
}
Actuellement ce code fonctionne une fois parce que la fonction est appelée en cas mousedown, mais jamais à jour l'objet e que l'utilisateur déplace la souris. La console d'erreur FF javascript déclare également qu'il s'agit d'un appel inutile à setTimeout (guillemets manquants autour de l'argument?), Mais que suite à ce conseil, il échoue complètement.
Comment puis-je extraire l'argument 'e' d'un appel setTimeout?
Edit: Ajout dans le code qui rediffusions les checkPos fonctionnent toutes les 500ms
Avec votre code, vous êtes invoquer en fait 'checkPos' lorsque vous appelez' setTimeout' (en raison de l'opérateur d'appel de fonction '()') et en faisant passer sa valeur de retour à ' setTimeout'; cette valeur n'est probablement pas une référence à une fonction, donc 'setTimeout' échoue. –