Я бы не стал удалять ссылку, а затем полностью воссоздавать ее, когда вы выполняете запрос Ajax.А если вы просто используете XMLHttpRequest напрямую, я рекомендую вам посмотреть замечательную документацию jQuery Ajax , чтобы узнать, как это сделать способом jQuery.
Если вам нужно, чтобы второй последовательный щелчок по ссылке не имел никакого эффекта (то есть до тех пор, пока запрос не будет выполнен), вы можете использовать метод .one()
jQuery , чтобы гарантировать, что обработчик событийсрабатывает только один раз:
$(function() {
function doAjax() {
$.ajax({..., success: function() {
// Do what you must to the HTML page
// Allow the user to click again to make the request again
$('.doXHR').one('click', doAjax);
}, ...});
}
$('.doXHR').one('click', doAjax);
});
Скрытие или изменение цвета ссылки
Если вы хотите, чтобы страница работала так, как если бы ссылка была удалена во время выполнения запроса:
$('.doXHR').css('display', 'none'); // before Ajax request
$('.doXHR').css('display', ''); // after Ajax request
Если вы просто хотите выделить ссылку серым цветом, используйте:
$('.doXHR').css('color', 'gray'); // before Ajax request
$('.doXHR').css('color', ''); // after Ajax request
Это дополнительно к использованию .one(...)
для привязки обработчика событий щелчка.