Solución:
Para evitar que un ancla siga el especificado href
, Sugeriría usar preventDefault()
:
// jQuery 1.7+
$(function () {
$('a.something').on("click", function (e) {
e.preventDefault();
});
});
// jQuery < 1.7
$(function () {
$('a.something').click(function (e) {
e.preventDefault();
});
// or
$('a.something').bind("click", function (e) {
e.preventDefault();
});
});
Ver:
http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29
También vea esta pregunta anterior sobre SO:
jQuery deshabilitar un enlace
La aplicación en la que estoy trabajando actualmente lo hace con un estilo CSS en combinación con javascript.
a.disabled { color:gray; }
Entonces, cuando quiera desactivar un enlace, llamo
$('thelink').addClass('disabled');
Luego, en el controlador de clics para ‘thelink’ una etiqueta, siempre ejecuto una verificación a primera hora
if ($('thelink').hasClass('disabled')) return;
Encontré una respuesta que me gusta mucho más aquí.
Se ve como esto:
$(document).ready(function(){
$("a").click(function () {
$(this).fadeTo("fast", .5).removeAttr("href");
});
});
Habilitar implicaría establecer el atributo href
$(document).ready(function(){
$("a").click(function () {
$(this).fadeIn("fast").attr("href", "http://whatever.com/wherever.html");
});
});
Esto le da la apariencia de que el elemento de anclaje se convierte en texto normal y viceversa.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)