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

518
Views
deshabilitar un hipervínculo usando jQuery
<a href="gohere.aspx" class="my-link">Click me</a>

Hice

 $('.my-link').attr('disabled', true);

pero no funcionó

¿Hay alguna manera fácil de deshabilitar el hipervínculo usando jquery? ¿Eliminar href? Preferiría no jugar con href. Entonces, si puedo hacerlo sin eliminar href, sería genial.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Puede vincular un controlador de clics que devuelve falso:

 $('.my-link').click(function () {return false;});

Para volver a habilitarlo nuevamente, desvincule el controlador:

 $('.my-link').unbind('click');

Tenga en cuenta que disabled no funciona porque está diseñado solo para entradas de formulario.


jQuery ya ha anticipado esto, proporcionando un atajo a partir de jQuery 1.4.3:

 $('.my-link').bind('click', false);

Y para desvincular / volver a habilitar:

 $('.my-link').unbind('click', false);
over 4 years ago · Santiago Trujillo Report

0

Sé que es una vieja pregunta, pero parece que todavía no está resuelta. Sigue mi solución...

Simplemente agregue este controlador global:

 $('a').click(function() { return ($(this).attr('disabled')) ? false : true; });

Aquí hay una demostración rápida: http://jsbin.com/akihik/3

incluso puede agregar un poco de css para darle un estilo diferente a todos los enlaces con el atributo deshabilitado.

p.ej

 a[disabled] { color: grey; }

De todos modos, parece que el atributo deshabilitado no es válido para a etiqueta. Si prefiere seguir las especificaciones de w3c, puede adoptar fácilmente un atributo data-disabled compatible con html5. En este caso, debe modificar el fragmento anterior y usar $(this).data('disabled') .

over 4 years ago · Santiago Trujillo Report

0

Eliminar el atributo href definitivamente parece ser el camino a seguir. Si por alguna razón lo necesita más tarde, simplemente lo almacenaría en otro atributo, por ejemplo

 $(".my-link").each(function() { $(this).attr("data-oldhref", $(this).attr("href")); $(this).removeAttr("href"); });

Esta es la única forma de hacerlo que hará que el enlace también aparezca deshabilitado sin escribir CSS personalizado. Simplemente vincular un controlador de clics a falso hará que el enlace parezca un enlace normal, pero no sucederá nada al hacer clic en él, lo que puede resultar confuso para los usuarios. Si va a seguir la ruta del controlador de clics, al menos también .addClass("link-disabled") y escribiría algo de CSS que haga que los enlaces con esa clase aparezcan como texto normal.

over 4 years ago · Santiago Trujillo 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!