1
resposta

[Dúvida] Element button não interage com o click

O botão aparece e tudo certinho mas parece que ele não consegue interagir com a página.. No console do navegador também não diz nada sobre erro de sintaxe


    function criaElemento(item) {
            const novoItem = document.createElement('li')              
            novoItem.classList.add("item")

            const numeroItem = document.createElement('strong')
            numeroItem.dataset.id = item.id
            numeroItem.innerHTML = item.quantidade                           // recebendo os elementos 
            novoItem.appendChild(numeroItem)

            novoItem.appendChild(botaoDeleta())
            novoItem.innerHTML += item.nome

            lista.appendChild(novoItem)                                 //  passando para lista os elementos já capturados dos input´s 
    }

    limpar.addEventListener('click', () => {
            localStorage.clear()
            location.reload()
        })

    function atualizaElemento (item) {
        document.querySelector("[data-id='"+item.id+"']").innerHTML = item.quantidade
        }

        function botaoDeleta() {
            const elementoBotao = document.createElement('button')
            elementoBotao.innerText = "X"

            elementoBotao.addEventListener('click', function () {
                console.log("click")
            })
            return elementoBotao
        }

        function deletaElemento (tag) {
            tag.remove();
        }
1 resposta

Opa João, tudo bem?

Faltou definir a ação de remover quando ocorre o click do botão, apenas está mostrando o console.log, dessa forma não chamamos a função deletaElemento(), apenas a declaramos:

elementoBotao.addEventListener('click', function () {
        console.log("click")
})

Substituindo o console.log pela ação deletaElemento(this.parentNode) como mostrado na aula no minuto 4:34 resolvemos a questão:

elementoBotao.addEventListener('click', function () {
        deletaElemento(this.parentNode)
})

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓