JR Query : Impossible arreter propagation d'un évènement
Résolu
saintache
-
saintache -
saintache -
Bonjour,
Je n’arrive pas à arrêter la propagation d’événement ou alors cela stoppe tout !
Dans mon document HTML
Avec le script :
J’ai bien les traces consoles quand je clique sur une des lignes et dans la variable contenudet le contenu de toutes les lignes bout à bout
Mon objectif : cliquer sur une des lignes pour en récupérer le contenu de la seule ligne que j’ai cliquée
Si je modifie ainsi le script :
je n’ai jamais rien (aucune trace console) et ceci quelque soit l’endroit où je positionne mes e.stopxxx
En fait dès que j’utilise la forme function(e) plus rien ne se passe (même sans aucune ligne e.stop)
Merci d’avance pour vos avis
EDIT : Ajout des balises de code
Je n’arrive pas à arrêter la propagation d’événement ou alors cela stoppe tout !
Dans mon document HTML
<div> <p class="ligdetcarnet">blablabla</p> <p class="ligdetcarnet">encore une ligne</p> <p class="ligdetcarnet">et encore une autre</p> <p class="ligdetcarnet">et ainsi de suite ...blablabla</p> </div>
Avec le script :
$('.ligdetcarnet').click,(function(){ console.log("click sur detclick"); contenudet=$('.ligdetcarnet').text(); console.log("contenu :" + contenudet); });
J’ai bien les traces consoles quand je clique sur une des lignes et dans la variable contenudet le contenu de toutes les lignes bout à bout
Mon objectif : cliquer sur une des lignes pour en récupérer le contenu de la seule ligne que j’ai cliquée
Si je modifie ainsi le script :
$('.ligdetcarnet').click,(function(e){ console.log("click sur detclick"); e.stopPropagation(); e.stopImmediatePropagation(); contenudet=$('.ligdetcarnet').text(); console.log("contenu :" + contenudet); });
je n’ai jamais rien (aucune trace console) et ceci quelque soit l’endroit où je positionne mes e.stopxxx
En fait dès que j’utilise la forme function(e) plus rien ne se passe (même sans aucune ligne e.stop)
Merci d’avance pour vos avis
EDIT : Ajout des balises de code
A voir également:
- JR Query : Impossible arreter propagation d'un évènement
- Power query download - Télécharger - Tableur
- Morphvox jr - Télécharger - Audio & Musique
- Sql query download - Télécharger - Gestion de données
- Flyspeed sql query - Télécharger - Bases de données
- Java jr - Télécharger - Langages
3 réponses
Bonjour,
$('.ligdetcarnet').click,(function(e){ console.log("click sur detclick"); // e.stopPropagation(); // inutile // e.stopImmediatePropagation(); // inutile // contenudet=$('.ligdetcarnet').text(); // faux var contenudet = $(this).text(); // $(this) = élément cliqué console.log("contenu :" + contenudet); });
Génial cela marche - Merci beaucoup
Une remarque : j'ai enlevé le (e) avec lequel cela ne marche pas.
Une question subsidiaire : dans quel contexte faudrait-il utiliser ces e.stopxxxxxx et pourquoi cela ne fonctionne pas avec eux ?
Une remarque : j'ai enlevé le (e) avec lequel cela ne marche pas.
Une question subsidiaire : dans quel contexte faudrait-il utiliser ces e.stopxxxxxx et pourquoi cela ne fonctionne pas avec eux ?
Ici ce n'était pas une question de e.stopxxxxxx .. mais un problème de compréhension du fonctionnement des selecteurs...
Là tu ne ciblait pas l'élément cliqué
D'où mon remplacement par
Les stopxxxx s'utilisent par exemple lors du clic sur un lien ( pour éviter d'être redirigé et faire une fonction js à la place) ou encore sur le "submit" d'un formulaire..
Là tu ne ciblait pas l'élément cliqué
$('.ligdetcarnet').text();mais TOUS les éléments ayant la class ligdetcarnet ( en gros.. tu récupérais en "boucle" le text de chaque élément...)
D'où mon remplacement par
$(this);
Les stopxxxx s'utilisent par exemple lors du clic sur un lien ( pour éviter d'être redirigé et faire une fonction js à la place) ou encore sur le "submit" d'un formulaire..