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

288
Visualizações
JavaScript cancela el evento "mouseleave" en "clic"

Estoy trabajando en un problema en el que no soy capaz de encontrar una solución. Aunque todavía soy un principiante. Aquí el código:

 var navContact = document.getElementsByClassName("nav-l")[0]; var contactForm = document.getElementsByClassName("kontakt")[0]; var navContactMouseEnter = function (e) { console.log("mouse entered!"); navContact.style.paddingLeft = "5vw"; contactForm.style.transform = "translateX(-25vw)"; } var navContactMouseLeave = function (e) { console.log("mouse left!"); navContact.style.paddingLeft = "0vw"; contactForm.style.transform = "translateX(-31vw)"; } navContact.addEventListener("mouseenter", navContactMouseEnter, true); navContact.addEventListener("mouseleave", navContactMouseLeave, true); navContact.addEventListener("click", (e) => { e.preventDefault(); navContact.removeEventListener("mouseleave", navContactMouseLeave, true); navContact.style.paddingLeft = "5vw"; contactForm.style.transform = "translateX(0vw)"; });

Estoy tratando de obtener una pequeña animación de deslizamiento en "mouseenter", pero al "hacer clic", ese elemento debería deslizarse por completo e ignorar cualquier evento de "mouseleave" . Ahí estoy enfrentando los problemas... No puedo cancelar el evento "mouseleave". Ese elemento solo debería desaparecer cuando hago clic en "X", pero eso no es problema.

Estoy agradecido por cualquier ayuda.

¡Gracias por adelantado!

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

0

Ok, después de romperme la cabeza por un par de horas más, descubrí que también necesitaba hacer esto:

navContact.removeEventListener( "mouseenter" , navContactMouse Enter , true);

También obtuve diferentes estilos en el evento mouseenter, que retiró el elemento nuevamente.

Lección aprendida :D

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