Si vous souhaitez un clic dans un élément enfant de ne pas bulle à son parent, vous pouvez arrêter le barbotage à l'aide stopPropagation
Comment empêcher événement click parent lors du déplacement de l'enfant au parent
<div class="parent">
<div class="child"></div>
</div>
document.querySelector('.parent').addEventListener('click',()=> { .. }
document.querySelector('.child').addEventListener('click',()=> { .. }
Mais comment empêchez-vous le clic parent, lorsque le clic commence à l'intérieur de l'enfant et se termine à l'extérieur. En d'autres termes: mousedown
l'intérieur de l'enfant, puis un mousemove
, qui déplace le pointeur à l'extérieur de l'enfant (mais à l'intérieur du parent) puis mouseup
La chose la plus importante pour moi, est que, dans cette situation, je ne veux pas le clic parent, des suggestions? MISE À JOUR: Si vous vous souvenez de la cible de mousedown, vous pouvez l'utiliser dans le rappel du clic parent: DEMO. Mais j'espère qu'il y a une meilleure solution
Remarquez que le comportement de Firefox est différent de celui du chrome. Le clic du parent ne se déclenche pas dans Firefox quand mouseup se produit – charlietfl
Je testais dans Chrome :) Mais FF montre le comportement dont j'ai besoin !! –
Bon ... j'ai pensé ça. J'ai été confus au premier abord depuis que j'ai vérifié la démo dans firefox et semblait bien là – charlietfl