|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Philippe Louboutin Inscription : janvier 2010 Messages : 6 ![]() |
Bonjour tout le monde,
J'ai un soucis de détection de clic, ou plutôt de détection de l'élément cliqué. Voilà le soucis :
Voici le code HTML : Code :
Code :
Code :
Le soucis vient du fait que lorsque je clique sur un "li" de niveau 2, le lien pris en compte est celui du "li" parent... En fait à ce que je comprend deux clics sont détectés : un premier sur le "li" effectivement cliqué (celui de niveau 2), et un second sur le "li" parent (non cliqué, mais comme on clique sur un de ses fils...?). J'ai bien tenté d'utiliser la méthode "stopPropagation" ou encore "cancelBubble" mais rien n'y fait, c'est toujours le lien de niveau 1 qui est pris en compte... En fait dans ma fonction javascript il faudrait que je puisse savoir si l'élément $(this) est bien l'élément cliqué, mais comment ? En comparant avec la position du pointeur ? Pas très propre à mon goût et fastidieux... Voilà j'espère avoir été assez clair pour que quelqu'un puisse m'orienter vers une solution efficace. Dans l'attente, merci d'avance ! Philippe |
||||||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Philippe Louboutin Inscription : janvier 2010 Messages : 6 ![]() |
Ok trouvé, il s'agissait bien d'utiliser stopPropagation... Mais je l'utilisais mal.
Pour ceux qui serait dans la même problématique que moi, voici comment faire : Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Membre expérimenté
![]() ![]() Duke Jikel Inscription : mai 2010 Messages : 340 ![]() |
Je ne comprends pour pourquoi tu passes par un systeme d'attibut super sale :
Code :
alors que tu peux simplement mettre un lien dans le LI |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Et la balise <ul> ne peut contenir que des éléments de liste <li>. Code html :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#6 | |||
|
Invité de passage
![]() Philippe Louboutin Inscription : janvier 2010 Messages : 6 ![]() |
Citation:
Autant pour moi, j'avais mal recopié mon code, le soucis ne venait donc pas de là... Rien à voir, l'évènement était détecté par deux "li" car la propagation était effective, il suffisait de rajouter un stopPropagation sur l'event concerné et le tour est joué, en deux lignes le lien est assuré. |
|||
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
La propagation fait que l'événement était détecté par le li de niveau 2 ET par le li de niveau 1, donc Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Philippe Louboutin Inscription : janvier 2010 Messages : 6 ![]() |
Citation:
Par contre, comme je l'ai dit dans mon message précédent, il n'y avait pas d'erreur dans mon code, je l'avais juste mal recopié sur ce forum... Le fait que 2 clics soient détectés ne venait donc pas d'une "erreur de développeur" mais de la non utilisation de stopPropagation sur l'event click. Bonne fin de journée |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com