У меня есть веб-страница с некоторыми новостями, и кнопка, при нажатии которой показывает старые новости, делающие вызов AJAX на сервер.Отключить/включить событие jQuery click, чтобы избежать нескольких запросов POST.
Проблема в том, что если люди нажимают слишком быстро, запрос выполняется дважды, поэтому я получаю 2 равных ответа.
# MAS-Noticias-колонтитула идентификатор кнопки, который отображает старые новости
.noticias-лист класс asigned к каждому новому, с использованием .length я получаю количество новостей отображается и POST этот номер в файл PHP, который выполняет SQL-запрос с использованием LIMIT (numItems, 3) (я получаю 3 новости за раз).
# Noticias-дисплей является уль, который содержит новости
Это код
$(document).ready(function() {
$("#mas-noticias-footer").on('click',function() {
var numItems = $('.noticias-list').length;
$.ajax({
type: "POST",
url: "mas-noticias.php",
data: "num-noticias="+numItems,
success: function(data) {
$('#noticias-display').append(data);
}
});
});
});
Я попытался с помощью выключения() и отменяя событие в начале при обратном вызове, чтобы избежать множественных вызовов (что работает), проблема заключается в том, когда я делегирую событие, используя on() в конце обратного вызова, я не могу заставить его работать.
Попробуйте event.preventDefault() .... см. http://api.jquery.com/event.preventDefault/ – Baba
Я сделаю снимок, но не event.preventDefault() предотвращает действие по умолчанию, например, в привязке, если вы добавите обработчик клика с e .preventDefault предотвращено действие по умолчанию, которое происходит с указанным href? – davidaam
поместите его после '$ (" # mas-noticias-footer "). On ('click', function (event) {' – Baba