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

197
Vistas
Llame a una función javascript desde un elemento HTML

Tengo un botón en una página web que se carga después de un período de tiempo determinado, funciona bien, pero a mi cliente le gustaría una manera fácil de agregar un botón que llame a esta función para que pueda agregarle valores dinámicos.

En este caso, el botón debería eliminar una clase después de 5 segundos de carga de la página/elemento:

Problema, no se está llamando a la función, verifiqué que la referencia al archivo javascript es correcta, sospecho que el problema es la forma en que estoy llamando a la función, aquí está mi código:

 <a href="somewhere.com" id="myButton" window.onload='showButton("myButton", "5000")'; class="invisible">Now you can see me!</a> function showButton(id, time) { setTimeout(function() { showButtonPrep(id, time); }, time); console.log("I have fired!"); } function showButtonPrep(id, time) { var button = document.getElementById(id); button.classList.remove('invisible'); }

La consola no registra la cadena, por lo que puedo ver que no se está cargando. He probado variaciones de la carga, es decir.

 window.load this.load

El archivo javascript que contiene la función está en el pie de página, si coloco una alerta en la parte superior del archivo javascript que se activa.

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

0

window.onload no es un atributo HTML válido para <a> . Esto parece una confusión entre HTML y JavaScript.

Deberías poner eso dentro de un script:

 window.onload = () => showButton("myButton", 5000); function showButton(id, time) { setTimeout(function() { showButtonPrep(id, time); }, time); console.log("I have fired! Now wait 5 seconds..."); } function showButtonPrep(id, time) { var button = document.getElementById(id); button.classList.remove('invisible'); }
 .invisible { display: none }
 <a href="somewhere.com" id="myButton" class="invisible">Now you can see me!</a>

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