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

130
Vistas
KeyPress Event is compiled as a Key Down Event

I want that when I press on any keyboard key every character in the "array" element will be written in the "log" element one by one. the problem is that when I hold down the keyboard button the code keeps writing in the "log" element.

window.onload = () => {
    let log = document.getElementById("log");
}
let string = `CODE EXAMPLE :
let firstName = "user";
let lastName = "userLastName"
let Bool = |true;|
if (Bool === 1) {
  console.log(firstName += lastName);
}`;
let array = string.split("|");
let i = 0;
let x = 0;
log.addEventListener("click", () => {
    document.addEventListener("keypress", type);
})
function type() {
    log.innerText += array[i].charAt(x);
    x++;
    if (x === array[i].length) {
        x = 0;
        i++;
    }
    if (array[i] === undefined) {
        document.removeEventListener("keypress", type);
    }
}
#log {
    height: 350px;
    width: 500px;
    padding: 15px;
    position: absolute;
    left: 10px;
    color: rgb(0, 255, 0);
    font-size: 14px;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 25px;
    white-space: pre-wrap;
    line-height: 20px;
}
#log::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 20px;
    background-color: rgb(0, 255, 0);
    animation: animation .5s infinite linear alternate;
}
@keyframes animation {
    to {background-color: transparent;}
}
<pre id="log"></pre>

about 4 years ago · Juan Pablo Isaza
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