Olá,
Após click do botão, chamo o querySelctor novamente. Mesmo assim, o evento de click não funciona para os <li>
adicionados por Javascript. Não entendi o motivo desse novo lis não ser escutado pelo eventListener, sendo que se adiciono uma nova <li>
e aperto em alguma <li>
original, vejo pelo console que o lis passado para o for é o lis novo, com o novo<li>
proveniente do botão.
botao.addEventListener('click',function() {
var li = document.createElement('li');
li.textContent = input.value;
lista.appendChild(li);
//nova lis com novo li
let lis = document.querySelectorAll('li');
console.log('nova lis')
console.log(lis);
});
Entendi que podemos "escutar eventos" no elemento pai e descobrir em que filho o evento ocorreu, mesmo se esse filho foi adicionado por Javascript:
var botao = document.querySelector("#botao");
var input = document.querySelector("#campo");
var lista = document.querySelector(".lista");
var lis = document.querySelectorAll("li");
botao.addEventListener("click", function () {
var li = document.createElement("li");
li.textContent = input.value;
lista.appendChild(li);
input.value="";
});
let paiDoLis = document.querySelector(".lista");
paiDoLis.addEventListener("click", function (evento) {
alert(evento.target.textContent);
});