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

86
Vistas
Pasar función como argumento a otra función llamada dentro de la primera

Tengo una función que crea un botón con una acción de "hacer clic" que llama a una segunda función. Esta segunda función recibirá parámetros de la primera (incluida una función). Así como esto:

 function funcOne(argFunc, customMsg) { let div = document.createElement('div'); let button = `<button onclick='funcTwo(`+argFunc+`','`+customMsg+`)'>Go!</button>`; div.innerHTML = button; document.body.appendChild(div); } function funcTwo(argFunc, customMsg) { argFunc(customMsg); }

Luego, llamando a funcOne:

 funcOne(function(customContent) { alert(customContent) }, 'Hello World');

Aparece el error "Error de sintaxis no detectado: final inesperado de la entrada" aquí:

let button = <button onclick='funcTwo( +argFunc+ ',' +customMsg+ )'>Go!</button> ;

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En general, evite los controladores de eventos de estilo onxyz . Evítelos siempre cuando tenga una función (en lugar de una cadena) que necesite conectar dinámicamente. Tienen varios problemas, entre ellos que solo pueden llamar a funciones globales.

En su lugar, utilice el manejo de eventos moderno. Tampoco hay necesidad de análisis de HTML:

 function funcOne(argFunc, customMsg) { const div = document.createElement("div"); const button = document.createElement("button"); button.textContent = "Go"; button.addEventListener("click", () => { funcTwo(argFunc, customMsg); }); div.appendChild(button); document.body.appendChild(div); } function funcTwo(argFunc, customMsg) { argFunc(customMsg); }
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