2013-11-09 6 views
2

У меня есть гиперссылка на моей веб-странице, и я хочу отключить, чтобы пользователь не мог нажать на нее, и когда пользователь внесет изменения в другую часть формы (произойдет событие) ссылка активируется.как отключить и включить гиперссылку с jquery

<a href="" id="saveChanges" >Save changes</a> 

Я попытался $("#saveChanges").attr("disabled", true);, но я все еще могу нажать на ссылку. Есть идеи? спасибо

+0

Можем ли мы увидеть код? –

+0

Я предполагаю, что вы привязали обработчик кликов к этому тегу привязки, чтобы «сохранить изменения», и вы не хотите, чтобы он срабатывал, когда вы его отключили? Что мешает вам проверять отключенный атрибут тега привязки в обработчике кликов? – Sumurai8

ответ

1

Анкер не является полем формы, которое можно отключить с помощью объявления HMTL (которое, кстати, должно использовать .prop() вместо .attr()).

Это должно быть сделано шаг за шагом.

$(function() { 
    $('a').on("click", function (e) { 
     e.preventDefault(); 
    }); 
}); 
1

Чтобы сделать ссылку unclickable, вы можете удалить атрибут href. Однако перед удалением значения href вы должны сохранить его в другом атрибуте в другом, чтобы восстановить его, если это необходимо. Например,

function makeUnClickable() { 
    $('a').each(function() { 
     $(this).data('href', $(this).attr('href')); 
     $(this).removeAttr('href'); 
    }); 
} 
function makeClickable() { 
    $('a').each(function() { 
     $(this).attr('href', $(this).data('href')); 
    }); 
} 

http://jsfiddle.net/cC7Um/

+0

Интересная идея, но что, если есть много гиперссылок, которые вы хотели бы отключить/включить? – carmenism

+0

@vulpix он работает для нескольких ссылок, как есть, этот пример делает его более понятным http://jsbin.com/xoyeqejusepi/1. Также добавлен селектор, если требуется отключить/включить конкретную ссылку. – melc

Смежные вопросы