Delegación de eventos en JavaScript

La delegación de eventos es útil cuando se trabaja con elementos dinámicos:

document.getElementById("lista").addEventListener("click", function(e) {
    if (e.target.tagName === "LI") {
        alert("Elemento clickeado: " + e.target.textContent);
    }
});

Así no necesitas agregar eventos a cada elemento manualmente.