What I dont get is that in the code above , the ul is being triggered or activated by the li’s
even though I dont have any event handlers tied to the li. If the event bubbling is supposed to go through the ancestors towards the html node , and the event handler itself is tied to the parent element (ul) , then why is it activating when I click on the li elements ?
Update after Solved: I looked into this a bit more and another concept that I seemed to misunderstand was that I thought event handlers were the cause of event bubbling. However , I just tested this by creating an event handler on the body while I console.log the event target and while adding some paragraphs. Each time I clicked on the paragraphs (an event) , it would bubble up to the body event handler regardless of whether or not the child element paragraphs i clicked had an event handler. So the activation of an event bubbling doesnt require an event handler , only an event itself.
Event bubbling doesn’t require the child to have a listener to bubble up. Unless you want to stop it from bubbling, you will want to use an event listener to stop the propagation, but otherwise, it will always bubble up.
That makes a lot of sense. So would it be safe to say then that any elements that are "tied " to each other will have that effect ? Because it is actually impossible to click the parent element in these situations … I feel stupid now .
So logically, you can’t click anywhere in the outer area without it meaning you’ve clicked on the ul. Now, you can put a condition in the callback that says “if the event target is a list element, don’t do anything” and it will only do anything if you click inside the ul area but not in a li area (this is useful in some circumstances). It’ll still pick the event up, it just won’t go any further
Edit: Don’t feel daft though, it’s very easy to get stuck in rabbit holes of technical explanations when there’s a simple solution (that will, unfortunately, keep happening no matter how much you learn )
Thank you, I will look these over but I think I understand it now . I was struggling with the bubbling starting with the child element when the actual event handler was a parent so it bubbling up would have never affected its own child element as it would have moved towards its own ancestors. I think my mistake was that I overlooked the fact that you cant interact(clicking) with the ul without doing so to its li’s as well.