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

93
Visualizações
Elemento jquery con onclick a cadena en línea

el siguiente código no funciona:

 return targets .map( (target, i) => ` <tr> <td>${target.name}</td> <td>${target.coordinates.join(':')}</td> <td>${new Date(target.lastscan).toLocaleString()}</td> <td> ${$('<button class="icon_nf icon_espionage" type="submit"></button>)').on('click', () => console.log('Test')).html()} </td> </tr> ` ) .join('');

Con la función html() al final, el elemento del botón no se representará. Cuando envuelvo el botón en otro elemento, el botón se representará, pero la función onclick no funciona.

Este código proviene de mi extensión de Chrome que intento crear.

¿Sabes cómo puedo renderizar un botón con un clic sin agregar un evento de escucha después de agregar el botón al dom?

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

0

  1. .html() no convertirá los oyentes agregados a través .on() , pero el uso de oyentes de atributos html no funcionará en extensiones de todos modos porque está prohibido por el CSP predeterminado para extensiones, más información .

  2. Cuando hay muchos elementos similares, es mejor usar la delegación de eventos: adjunte solo un oyente en el elemento principal común.

Puede construir una cadena html de toda la tabla, pasarla a jQuery y luego agregar un oyente:

 const table = $(` <table>${targets.map(t => ` <tr> <td>${t.name}</td> <td>${t.coordinates.join(':')}</td> <td>${new Date(t.lastscan).toLocaleString()}</td> <td> <button class="icon_nf icon_espionage" type="submit"></button> </td> </tr> `).join('')} </table> `).on('click', 'button', e => console.log('Test', e.target));
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