Bonjour,
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 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
jrquery arreter la propagation d'un événement
Re: jrquery arreter la propagation d'un événement
Bonjour,
Le fonctionnement actuel n'est pas lié a la propagation du click
mais au fait que tu prends le contenu de toutes les lignes avec contenudet=$('.ligdetcarnet').text();
Il faut prendre le <p> cliqué avec e.currentTarget et donc avoir le contenu cliqué avec :
contenudet=$(e.currentTarget).text();
Cela pourrait aussi fonctionner avec this directement :
contenudet=$(this).text();
voir ici la correction
https://www.toutjavascript.com/user/stop-prop.html
Le fonctionnement actuel n'est pas lié a la propagation du click
mais au fait que tu prends le contenu de toutes les lignes avec contenudet=$('.ligdetcarnet').text();
Il faut prendre le <p> cliqué avec e.currentTarget et donc avoir le contenu cliqué avec :
contenudet=$(e.currentTarget).text();
Cela pourrait aussi fonctionner avec this directement :
contenudet=$(this).text();
voir ici la correction
https://www.toutjavascript.com/user/stop-prop.html
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php
https://www.toutjavascript.com/livre/index.php