2010-06-17 2 views
1

J'ai un formulaire que je auto focus au démarrage de la page avec jquery. J'ai également des gestionnaires d'événements de changement en place pour chaque fois qu'une entrée change.IE7 et IE8 événement de changement ne pas être levé pour la saisie de texte

Si je change la valeur du premier champ qui a été autofocus, puis passe au champ suivant, le gestionnaire d'événements change ne se déclenche pas. Si je supprime la mise au point automatique et que je la mets au point manuellement, changez-la puis passez au champ suivant, l'événement de changement se déclenche.

Cela se produit uniquement sur IE. Cela fonctionne bien sur firefox et chrome.

Quelqu'un at-il vécu cela auparavant?

CODE:

$('#firstinput').focus(); 

$('input').live('change', function(){ 
    alert("changeevent!"); 
}); 

MISE À JOUR: Il doit être quelque chose de plus compliqué que cela, parce que je l'ai testé cela en lui-même et cela a fonctionné très bien. Sur la vraie page, j'ai un plugin validateur qui interfère probablement d'une manière ou d'une autre. Lorsque j'ai utilisé le plugin validateur sur la page de test, il a eu le même problème.

UPDATE2: J'ai réduit la ligne de code qui provoque cela. Ajouter

$('#firstinput').bind('change', function() {}); 

et IE présente le mauvais comportement.

+0

Pouvez-vous montrer du code? Comment fonctionne l'autofocus? –

Répondre

1

J'ai testé votre code sur IE7 et IE8 et fonctionne parfaitement, il y a peut-être autre chose ...

Et si au lieu de

$('#firstinput').focus(); 

vous utilisez

$('#firstinput').click(); 
+0

voir si vous pouvez le reproduire en ajoutant le code que j'ai mentionné dans update2 – Kyle

Questions connexes