У меня возникли проблемы с объединением нескольких обработчиков кликов и запуском процесса через определенный интервал. Во время запросов Ajax я показываю оверлей и счетчик, и они исчезают по завершении. Иногда, когда я щелкаю элемент и одновременно проходит интервал, наложение не исчезает.
Показать / скрыть наложение и счетчик
$(document).bind("ajaxStart", function() {
$("#overlay").show();
$('#wrapper').spin();
});
$(document).bind("ajaxStop", function () {
$('#wrapper').spin(false);
$("#overlay").hide();
});
Событие клика
$( document ).on( 'click', '#dataTable tbody tr', function() {
$.fn.enableMenuButtons();
}
... some other click events
Интервал
setInterval( function () {
$.fn.table.reload();
}, 10000);
Мне нужен интервал для ожидания завершения любых событий щелчка, если они запущены. Я читал кое-что о отложенном и обещании, но не могу понять, как применить это к моему коду.
Я вообще не понимаю, зачем тебе setInterval
.
Вы правы, AjAX. Я обновил вопрос. Проблема возникает, когда я щелкаю элемент, и до завершения события щелчка проходит интервал. Рузгар: Я обновляю данные в фоновом режиме каждые 10 секунд. Когда нет события щелчка, я все равно хочу его обновить.
Как вы можете использовать
click
иelement
. Когдаspinner
все скрывает.