Pourquoi ne .fireEvent() ne fonctionne pas dans IE9?
Plutôt frustrant de temps ici avec IE9. Ce code fonctionne dans IE7/8, mais pas 9.
document.getElementById('id').fireEvent("OnChange");
Tout de comprendre pourquoi?
OriginalL'auteur styler1972 | 2012-03-15
Vous devez vous connecter pour publier un commentaire.
Dans les versions IE >= 9 et tous les autres navigateurs, vous devez utiliser le
dispatchEvent
méthode:Découvrez http://jsfiddle.net/QKsvv/
if (id.dispatchEvent)
puiselse if (id.fireEvent)
je peux maintenant utiliser la non-ie8 code de travail pour ie9. Ressemble IE est enfin sur la capture?C'est le droit. Vous pouvez extraire le tir de code dans une méthode distincte qui va gérer tous les navigateurs.
De l'information supplémentaire, cela ne fonctionne que pour les éléments qui sont dans les DOM. Si vous dynamiquement faire des objets et que vous voulez pour simuler des clics sur eux à l'aide de dispatchEvent, vous pour les ajouter à la DOM en premier. Si vous ne le faites pas, vous pouvez toujours distribuent des événements, mais vous allez vous arracher les cheveux en se demandant pourquoi la fonction s'exécute correctement sans déclenchement de votre gestionnaire d'événement.
Waouh, enfin quelque chose qui fonctionne pour moi.
OriginalL'auteur Strelok
j'ai trouvé un fil de discuter de votre problème. ouvrir cette et essayer de courir dans ie9.
espère que ça va aider. merci!
OriginalL'auteur NET Experts