2011-03-07 4 views
0

J'ai le problème suivant. S'il te plait peux-tu aider. Merci!javascript gestion des événements

Cordialement, Ran

  1. Vous avez déjà un gestionnaire d'événements EH1 sur l'événement onload du corps.
  2. Ce gestionnaire d'événements EH1 ajoute un nouvel élément DOM en appelant une fonction d'assistance HF1.
  3. Ensuite, le gestionnaire d'événements EH1 modifie la valeur du nouvel élément.
  4. Le gestionnaire d'événements EH1 appelle alors une autre fonction d'assistance HF2 pour calculer la sortie basée sur le nouvel élément.

Dans IE et Firefox, si une alerte est insérée entre les étapes 2 et 3. La sortie sera correcte. Si aucune alerte n'est insérée, la sortie sera incorrecte, comme si la fonction d'assistance HF2 à l'étape 4 ne peut pas voir la valeur du nouvel élément.

Dans Chrome ou Opera, l'alerte n'aide pas. Effectuez vos actions sur DOMReady à la place de l'onload au niveau du corps.

+0

Pouvez-vous montrer ce code s'il vous plaît? –

+0

Je ne suis pas sûr si je peux montrer le code :(. Je suppose que c'est parce que HF1 utilise l'appel ajax async Avant que l'appel retourne, l'étape 3 n'a aucun effet Je suppose dans IE/FF, l'alerte permet HF1 ajax appel asynchrone Retourne et met à jour le DOM.Lors de Chrome/Opera, l'alerte bloque tout.J'ai supprimé l'appel ajax async dans HF1 et le code semble fonctionner –

Répondre

1

+0

Je ne peux pas décider quel événement à écouter sur.Peut seulement modifier le gestionnaire d'événements. pas clair pour moi pourquoi DOMReady ferait une différence IMO, 'Onload' charge imiges et DOMReady ne le fait pas –

+0

Pourrions-nous réellement voir les fonctions d'aide et les gestionnaires d'événements? – Peeter

Questions connexes