Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

253
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!