Мне пришлось исправить это поведение на сайте с большим количеством якорей, которые были включены / отключены с помощью этого атрибута в соответствии с другими условиями и т. Д. Может быть, не идеал, но в такой ситуации, если вы предпочитаете не исправлять код каждого якоря в отдельности, это поможет всем якорям:
$('a').each(function () {
$(this).click(function (e) {
if ($(this).attr('disabled')) {
e.preventDefault();
e.stopImmediatePropagation();
}
});
var events = $._data ? $._data(this, 'events') : $(this).data('events');
events.click.splice(0, 0, events.click.pop());
});
И
a[disabled] {
color: gray;
text-decoration: none;
}