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

107
Vistas
Activación de Javascript después de dos intentos

Ok, tal vez el título está redactado un poco mal...

Tengo un javascript que se supone que abre mi barra lateral una vez que se hace clic en el botón, pero se necesitan dos clics para abrir la barra lateral y otros dos clics para cerrarla.

Entiendo por qué sucede esto a través de mi Javascript, pero no estoy seguro del remedio (¿No estoy seguro si en realidad es un problema de Blazor?)

JavaScript

 function LoadContent() { document.addEventListener("DOMContentLoaded", document.onclick = function(event) { const showNavbar = (toggleId, navId, pId, headerId) => { const toggle = document.getElementById(toggleId), nav = document.getElementById(navId), bodypd = document.getElementById(pId), headerpd = document.getElementById(headerId); mainbodypd = document.getElementById("mainbody"); if (toggle && nav && bodypd && headerpd && mainbodypd) { toggle.addEventListener("click", () => { nav.classList.toggle("show"); toggle.classList.toggle("bx-x"); bodypd.classList.toggle("body-pd"); headerpd.classList.toggle("body-pd"); mainbodypd.classList.toggle("height-100short"); }); } }; showNavbar("header-toggle", "nav-bar", "body-pd", "header"); const linkColor = document.querySelectorAll(".nav_link"); function colorLink() { if (linkColor) { linkColor.forEach(l => l.classList.remove("active")); this.classList.add("active"); } } linkColor.forEach(l => l.addEventListener("click", colorLink)); }); }

¿Alguien puede explicar cómo puedo evitar que esto suceda? (Lo siento, soy bastante nuevo en JS)

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

0

Entonces, ¿por qué estás haciendo:

 document.onclick = function(event) {

Esto hace que la función active cada clic de página EN CUALQUIER LUGAR de la página (lo que significa que sigue agregando detectores de eventos cada vez que hace clic).

Probablemente deberías eliminar esa parte, o si la necesitas para algo, quita la sección de la barra mostrada y guárdala en DOMContentLoaded.

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