très simplement mis: la ligne Plus précisément, lors de l'inspection des résultats avec Firebug, je peux voir la classe "Ouvrir" clignotant (apparaissant et disparaissant immédiatement) sur l'élément correspondant. Donc, c'est comme si la fonction est réellement déclenchée deux fois (bien sûr, je clique seulement une fois). P> Quelqu'un peut-il m'expliquer pourquoi c'est et comment l'empêcher? P> Voici mon code JQuery : p> et voici une partie de mon code HTML, légèrement simplifiée pour une meilleure lisibilité (pas très jolie je sais, mais je n'ai qu'un contrôle limité sur la sortie HTML) : p> merci d'avance. p> p> courantItem.toggleclass ('Open'); code> ne semble pas fonctionner.
4 Réponses :
Problème résolu: le fichier JS a été inclus deux fois dans la tête HTML, qui a provoqué la déclenchement de la fonction deux fois avec un clic. P>
Après avoir frappé ma tête contre le clavier pour une heure, votre commentaire l'a fait pour moi ... je l'ai inclus deux fois. Ughhhhh
J'ai eu un problème similaire sur mon site et j'ai constaté que j'avais eu accidentellement dupliqué le crochet du Toggleclass tout en bas, lorsqu'il est en train de jouer avec elle. Oups! Assurez-vous de rechercher des appels doubles! P>
J'ai eu un problème similaire à faire ceci:
html: strong> p> JS: strong> P > $('a').click(function(event) {
... my stuff ...
# Forgot to do event.preventDefault(); !!
}
J'ai eu le même problème et j'ai réalisé que j'avais accidentellement lié la fonction deux fois. J'avais initialement voulu déplacer le code d'un fichier JavaScript à un autre mais laissé accidentellement l'original à sa place. p>
Êtes-vous sûr de ne pas lier la fonction deux fois en quelque sorte?
@A.: Je ne pense pas: c'est la seule fois que j'utilise ".Cliquez sur ()" dans ma page, ainsi que la seule fois que je modifie ce nom de classe. J'ai également essayé d'utiliser d'autres noms de classe sans meilleurs résultats.
@A.: En fait, vous aviez raison! Je travaille avec un cadre (Prado) que je ne sais pas très bien, et je ne savais pas que le fichier JS avait été inclus deux fois dans la tête HTML. Corriger cela a résolu le problème. Merci!
Vous devriez poster cela comme la réponse, cela pourrait aider la prochaine personne qui vient avec le même problème.