Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

206
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda