By putting the eventlistener on the parent and then within find out which child node that was clicked the JS doesn’t get slow by creating loads of eventlisteners when 1 is enough.
containerNode.addEventListener("click", function(event){ event.preventDefault(); var clickedChildNode = event.target.nodeName == "li" ? event.target : event.target.firstElementChild; console.log(clickedChildNode); });