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

256
Visualizações
¿Hay alguna manera de deshabilitar el enlace/enlace href si el usuario ya está en la página a la que conduce el enlace/enlace href, sin usar JQuery?

Así que tengo algo como esto en mi html:

 <a id="one" href="/index.html"> HOME </a> <a id="two" href="/something.html"> SOMETHING </a> <a id="three" href="/again.html"> AGAIN </a>

y si, por ejemplo, el usuario está en la página vinculada "..../index.html" e intenta hacer clic en el botón de enlace "INICIO", no hace nada o redirecciona falsamente o está deshabilitado para que se pueda hacer clic, lo mismo ocurre con otros botones href si el usuario ya está en la página a la que redireccionan los botones, y el usuario intenta hacer clic en ellos, he estado buscando en todas partes, pero todas las soluciones para este problema requieren que use JQuery, y me gustaría no usar bibliotecas tanto como sea posible , alguna solución?

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

0

Para simplificar, agregue una clase a todos los enlaces de menú en los que desea este comportamiento

 <a class="locationLink" id="one" href="/index.html"> HOME </a> <a class="locationLink" id="two" href="/something.html"> SOMETHING </a> <a class="locationLink" id="three" href="/again.html"> AGAIN </a>

Y comprueba esto:

 var links = document.getElementsByClassName("locationLink"); for (var i = 0; i < links.length; i++) { var link = links[i]; if (link.classList.contains('locationLink') && location.href == link.href) { link.addEventListener("click", function (event) { event.preventDefault(); }); break; } }

Básicamente, obtienes todos los enlaces y compruebas solo tus enlaces de ubicación. Si la URL actual es igual a href, agrega un detector de eventos que bloquea la navegación. Tal vez necesite algo de depuración en "ubicación.href == enlace.href" porque las URL relativas/absolutas (puede consultar https://stackoverflow.com/a/44547904/18452174 ) pero está funcionando.

Si su menú puede cambiar dinámicamente, puede probar este otro enfoque:

 document.addEventListener("click", function (event) { var link = event.target; if (link.classList.contains('locationLink') && location.href == link.href) { link.addEventListener("click", function (event) { event.preventDefault(); }); } }, false);

Haga lo mismo, pero verifique la condición en cada documento, haga clic en lugar solo una vez en la carga del documento.

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