Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

515
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda