au moins pour Chrome, il est utile d'ajouter un hasClass() vérifier avant removeClass(), parce que jQuery attribue inconditionnellement elem.className à la nouvelle chaîne, même si la chaîne hasn » t modifié, ce qui entraîne l'invalidation de Chrome et le recalcul de la mise en page.
On pourrait argumenter que c'est un bogue dans Chrome et il devrait vérifier si le nom de classe a effectivement changé de la valeur précédente. Cependant, il se peut aussi que le navigateur ait pour recalculer la mise en page en raison de certaines exigences obscures qui sont écrites quelque part dans la spécification html.
Je n'ai pas testé Firefox. L'inspecteur Web Safari est inutile car il ne vous dira pas pourquoi la mise en page a été invalidée/recalculée (quelle fonction javascript l'a provoquée).
Avez-vous essayé si cela fonctionne de toute façon? L'a fait? – lanzz
bien jquery évite erreur de lancer dans la plupart des cas et oui cela fonctionne – user917670
Comme il fonctionne et ne produit pas d'erreurs, apparemment, il n'est pas nécessaire. Vous ne devriez pas essayer de deviner la gestion des exceptions dans le code d'une tierce partie - si elle ne laisse pas une exception s'échapper, elle a été gérée. – lanzz