Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
¿El detector de eventos dentro del detector de eventos no funciona?

Soy nuevo en JavaScript y tengo un problema conceptual. Esencialmente tengo un div. Una vez que se hace clic en el div, se abre otro div, lo llamaré div2 por ahora. Quiero agregar otro div, llamémoslo div3 dentro de div2 y adjuntemos un detector de eventos a los botones en ese div 3. A continuación, escribí rápidamente un código para mostrarle mi situación con comentarios.

 //Create Div1 let div1 = document.createElement("div") div1.className = 'div1' //Attach EventListener on Div1 to create Div2 on click div1.addEventListener("click", function() { //Create Div2 let div2 = document.createElement("div") div2.className = 'div2' //Create Div3 let div3 = document.createElement('div') div3.className = 'div3'; //Create button and attack it to div3 let button1 = document.createElement('div') button1.classList = 'button1' button1.innerHTML = 'click me' div3.appendChild(button1) //Place Div3 in Div2 div2.appendChild(div3) //Attach Event Listener on Div3 so it logs something on click document.querySelector('.div3').addEventListener('click', function() { console.log('test') }); }); //Push Div1 to a container in the DOM document.querySelector('.parentContainer').appendChild(div1) }

He intentado agregar window.load , document.addEventListener('DOMContentLoaded', function(){}); alrededor del detector de eventos div3 y he colocado mi script.js al final del cuerpo que se ha sugerido en línea pero no ha funcionado. Esta publicación es un último recurso.

También pondré un enlace al problema. (Chrome recomendado) En este enlace, presione cualquiera de los rectángulos en el medio y verá que aparece el div 2 a la derecha con 4 botones (div 3) debajo. No puedo hacer que esos botones hagan ninguna función.

https://footballify.net/test/

Además, estos elementos son creados por un bucle, por lo que pueden estar causando el problema. Tampoco recibo mensajes de error. ¿Quizás tengo mi oyente de eventos en el lugar equivocado?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No div2 a div1 . Sin embargo, ahora esto crea div2 y div3 cada vez que hace clic en div1 . ¿Es esto lo que quieres lograr?

 //Create Div1 let div1 = document.createElement("div") div1.className = 'div1' div1.innerHTML = "Div1: Click me" //Attach EventListener on Div1 to create Div2 on click div1.addEventListener("click", function() { //Create Div2 let div2 = document.createElement("div") div2.className = 'div2' div2.innerHTML = "Div2"; //Create Div3 let div3 = document.createElement('div') div3.className = 'div3'; //Create button and attack it to div3 let button1 = document.createElement('div') button1.classList = 'button1' button1.innerHTML = 'Div 3 Button' div3.appendChild(button1) //Place Div3 in Div2 div2.appendChild(div3); //Place Div2 in Div1 div1.appendChild(div2); //Attach Event Listener on Div3 so it logs something on click div3.addEventListener('click', function() { console.log('test') }); }); //Push Div1 to a container in the DOM document.querySelector('.parentContainer').appendChild(div1)
 <div class="parentContainer"></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Este error ocurre porque los elementos se están generando dinámicamente . ¿Has intentado investigar la delegación de eventos ?

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda