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

140
Visualizações
Analógico $(documento).on('evento', 'selección', función(){}); para JavaScript

En jQuery está el script

$(document).on('click', '#popup-pers .mfp-close', function(e){}); ,

se usa si .mfp-close es un elemento virtual que aparece no al cargar la página, sino por evento, en su lugar

$(#popup-pers .mfp-close).click();

Necesito el mismo análogo para JS. yo suelo

 pers_hide = querySelector('#popup-pers .mfp-close');

pero el navegador solo ve #popup-pers , no '#popup-pers .mfp-close'

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

0

Para los elementos creados dinámicamente a los que desea asignar un evento de clic antes de que se inserten en el DOM: asigne el evento al delegador principal y luego consulte Event Event.target.closest(selector) coincide con el selector secundario dinámico deseado.

Aquí hay dos posibles soluciones/sugerencias:

Crea tu propio ayudante on() :

 // DOM utility functions: const el = (sel, parent) => (parent ||document).querySelector(sel); const elNew = (tag, props) => Object.assign(document.createElement(tag), props); // On handler: const on = (eventName, delegator, target, cbFn, opts) => el(delegator).addEventListener(eventName, evt => evt.target.closest(target) && cbFn(evt), opts); // Task: // 1. Assign events beforehand: on("click", "#popup-pers", ".mfp-close", (evt) => { console.log(evt.target.textContent); }); // 2. Insert element afterwards: el("#popup-pers").append(elNew("button", { type: "button", className: "mfp-close", textContent: "CLICK" }));
 #popup-pers { background: gold; padding: 10px; }
 <div id="popup-pers"></div>

Asigna el evento al crear tus elementos

De lo contrario, asigne la función de controlador de eventos deseada en la creación de elementos , utilizando el método onclick (que es la única forma válida en que se debe usar esa propiedad, y eso es cuando se crean nuevos elementos en memoria):

 // DOM utility functions: const el = (sel, parent) => (parent ||document).querySelector(sel); const elNew = (tag, props) => Object.assign(document.createElement(tag), props); // Task: // Insert element with click function assigned: el("#popup-pers").append(elNew("button", { type: "button", className: "mfp-close", textContent: "CLICK", onclick() { console.log(this.textContent); } }));
 #popup-pers { background: gold; padding: 10px; }
 <div id="popup-pers"></div>

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