J'ai une configuration simple, une table dont les cellules ont des cases à cocher. J'ai deux événements, un qui répond à cliquer sur les cases à cocher et un autre qui répond à cliquer sur les éléments "tr". Lorsque je clique sur une case à cocher, je ne veux pas déclencher l'événement de ligne de la table. J'ai essayé event.stopPropagation()
et return false;
sans aucune chance. Voici un extrait:jQuery Cliquez sur Stop Propagation
$("tr").click(function() {
alert("tr clicked");
});
$("input[type=checkbox]").change(function(event) {
event.stopPropagation();
alert("checkbox clicked");
});
Avec quelque chose comme:
<tr>
<td><input type="checkbox" id="something" name="something" /></td>
</tr>
Si l'événement change déclenche l'événement clic également le feu. Des indices sur la façon d'empêcher l'événement de clic tr
de se déclencher si la case à cocher est modifiée dans l'élément td
du tr
?
Cela fonctionne, mais en quoi est-ce différent de ce que j'ai écrit? (autre que cela fonctionne ...) – Kezzer
Cela semble le plus sûr car cela signifie que je n'ai pas à gérer plusieurs événements. Les autres réponses étaient aussi juste ce dont j'avais besoin, mais c'est le plus complet pour ma mise en œuvre. – Kezzer
Tellement propre. Upvote! –