2010-06-15 4 views
1

J'ai l'extrait de code suivant.Le hover a un problème dans Mozilla - Il change de couleur en stationnaire mais parfois il ne revient pas lorsque nous sortons. Aussi dans de tels cas si j'examine le HTML using FireBug je peux voir que la classe supplémentaire est assignée même après hover est out.It fonctionne bien sur IE. C'est une version simplifiéeJQuery Hover ne fonctionne pas Mozilla

Aussi comme vous pouvez le voir je prends la couleur sur le TR.Mais cela ne change pas la couleur sur TextBoxes dans TR. Comment puis-je m'assurer que la couleur d'arrière-plan des contrôles contenus dans le TR est également modifiée en vol stationnaire. Mon Markup généré par ASP.NET Repeater Control est une table avec TR Select Class Select.

<tr class="Select" > 
<td> 
<input type="checkbox" id="chkSelect" /> 
</td> 
<td> 
<input name="Repeater1$ctl11$tb" type="text" value="Sharp Bikes" id="Repeater1_ctl11_tb" /> 
</td> 
<td> 
<input name="Repeater1$ctl11$tb2" type="text" value="10/13/2004 11:15:07 AM" id="Repeater1_ctl11_tb2" /> 
</td> 
</tr> 

Répondre

0

Si ce code est généré alors peut-être que le code jQuery ne le connaît pas. Vous voudrez peut-être essayer d'utiliser le mot-clé .live et voir ce qui se passe.

Aussi, et cela n'aura probablement pas d'effet, mais j'aime utiliser $(document).ready( plutôt que $(function(. Préférence personnelle mais je n'ai jamais ces problèmes.

+0

Je ne pense pas que ce soit le problème parce que le sélecteur Jquery est appliqué lorsque le formulaire est prêt et est basé sur la classe plutôt que sur l'ID. Aussi, il travaille dans IE et travaille principalement dans Mozilla – josephj1989

0

vous pouvez utiliser Firebug dans Firefox pour savoir où c'est le problème.

et vous avez besoin de mettre vos balises de table, comme this

1

Bonnes nouvelles! J'ai été capable de recréer votre bug!

Le problème est que votre sélecteur jquery saisit tous les éléments avec la classe "Select". Pendant le vol stationnaire, vous ajoutez la classe "Highlight", donc pendant une microseconde, jQuery réécrit la définition de la classe pour cet élément et la supprimera occasionnellement de la règle select.

Essayez de changer votre jQuery choisir parmi:

$(".Select").hover(... 

à:

$("tr[class~='Select']").hover(... 

ou mieux encore, changer l'intérieur de votre fonction de vol stationnaire d'affecter directement le style de l'élément:

//... 
function(){ 
    $(this).css('background',"fuchsia"); 
}, 
function(){ 
    $(this).css('background',''); //removes rule 
} 
//... 

.. Sérieusement? Fuscia ?!

Questions connexes