Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

180
Views
¿Cómo insertar nuevos elementos con detectores de eventos?

El objetivo es activar un evento haciendo clic en un elemento, lo que crearía un nuevo elemento con la misma etiqueta, clases y detector de eventos para crear otro elemento del mismo tipo...

 const btn = document.querySelectorAll("button"); btn.forEach((b) => b.addEventListener("click", function () { console.log("Boom!"); b.insertAdjacentHTML("afterend", "<button class='button'>Boom</button>"); }) );
 <button class="button">Boom</button>

Sin embargo, cuando se crea dinámicamente un nuevo elemento, carece de detector de eventos a pesar de aplicar .querySelectorAll y .forEach. Entonces, ¿cómo crearía dinámicamente elementos con detectores de eventos?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Una solución en mi mente es agregar una clase (digamos myBtnEvent) a todos los botones y botones dinámicos y escuchar el evento de clic a nivel de documento. Ej: auge

 document.addEventListener('click', function(event) { if(event.target && event.target.classList.contains('myBtnEvent')){ //do your stuff } });

about 4 years ago · Juan Pablo Isaza Report

0

Puedes usarcloneNode para eso.

 function duplicate(id) { const el = document.getElementById(id) const duplicateEl = el.cloneNode(true) const random = parseInt((Math.random() * 10000)); duplicateEl.id = id + "_" + random; // unique ID el.insertAdjacentElement("afterend", duplicateEl) }
 <button id="boom" class="button" onclick="duplicate(this.id)">Boom</button>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!