2010-02-22 3 views
3

J'utilise la fonctionnalité show/hide JQuery sous une forme (généré avec php)Jquery - Afficher/Masquer - va toujours la page cliquez

Sous cette forme, il y a 10 éléments cachés, et chaque fois que l'utilisateur clique sur un lien « ajouter une autre », il affiche l'élément suivant caché, et mon pied de page descend avec elle. Jusqu'ici tout va bien. Maintenant, le problème est après 2 ou 3 éléments cachés sont affichés, la page devient plus grande et la barre de navigation de navigation de Firefox apparaît, ce qui est bien, mais quand je clique sur le lien "ajouter un autre", le La barre de défilement de navigation revient en haut de la page pendant que l'élément caché est affiché. Chaque lien qui ajoute un nouvel élément caché fait retourner la page vers le haut, et je ne veux pas ce comportement ...

Est-ce que quelqu'un sait un moyen de résoudre ce problème?

Répondre

3

Qu'en est-il ajouter un faux retour à la fin de l'événement click

+0

A travaillé! Merci beaucoup! – Piero

+0

En fait, j'utilise toujours e.preventDefault() au début de ma déclaration, et retourne false; à la fin, de cette façon ça marche à chaque fois ... – Piero

5

est le « ajouter un autre » un élément a réel avec un gestionnaire de clic qui ajoute le nouveau contenu?

Si oui, vous voulez probablement event.preventDefault(). Essayez quelque chose comme ceci:

$('.myClickedLink').click(function(event) { 

    event.preventDefault(); 
    // Run my code 

}) 

Cela empêche le comportement par défaut du lien. Je devine que c'est la cause de votre page pour revenir au sommet chaque fois. Dans un premier temps, dans mon code, j'ai tapé par erreur stopPropagation() au lieu de preventDefault(). Dans un premier temps, dans mon code, j'ai tapé stopPropagation() à la place de preventDefault(). C'était correct dans le texte ci-dessus, cependant. Pardon.

+0

qui ne fonctionnait pas, il a arrêté tout afficher/cacher le comportement ... mais la réponse suivante a fonctionné! ;) Merci pour votre temps! – Piero