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

124
Visualizações
Combinando dos funciones Pure JS

¿Cómo puedo combinar estas dos funciones en una sola? Ahora tengo dos funciones que hacen lo mismo: cerrar la ventana de búsqueda en el sitio, presionando escape y presionando fuera de un determinado .

 searchOverlay.addEventListener('keydown', function(event){ if(event.key === "Escape"){ body.classList.remove('search-opened'); event.stopPropagation(); } }); searchOverlay.addEventListener('click', function (e) { if (e.target.closest('.search-inner') === null) { body.classList.remove('search-opened'); e.stopPropagation(); } }); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Incluso podría simplemente crear un detector de eventos que admita ambos casos.

 function removeSearchOpenedClass(event) { if (event.key === "Escape" || !event.target.closest(".search-inner")) { body.classList.remove('search-opened'); event.stopPropagation(); } } searchOverlay.addEventListener('keydown', removeSearchOpenedClass) searchOverlay.addEventListener('click', removeSearchOpenedClass)
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede declarar una función y llamarla en ambas devoluciones de llamada.

 function doStuff(e){ body.classList.remove('search-opened'); e.stopPropagation(); } searchOverlay.addEventListener('keydown', function(event){ if(event.key === "Escape"){ doStuff(event) } }); searchOverlay.addEventListener('click', function (e) { if (e.target.closest('.search-inner') === null) { doStuff(e) } });
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