Javascript проверяет, все ли клики завершили загрузку элементов - PullRequest
1 голос
/ 30 марта 2012

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

Как лучше всего проверить, завершил ли каждый конкретный элемент загрузку данных?Предположим, мой метод тестирования загружен против не загружен "elementAlpha" .length: 1 == НЕ загружен, иначе ОК.

РЕДАКТИРОВАТЬ: Как только все мои данные загружаются, я хочу, чтобы страница автоматически выполняла другую функцию без каких-либодальнейший пользовательский ввод - вот почему мне нужно автоматизировать тест для всех элементов перед выполнением указанной функции.Итак, моя конечная игра такова:

пользователь выполняет функцию clickAll ()

функция clickAll: (1) нажмите кнопку click нажмите ... (2) все загрузилось?НЕТ-> продолжайте ждать, ДА-> выполните nextStep ()

Я понимаю, что использование прослушивателей событий - это путь, но я не могу понять, что это возможно (цикл ожидания, согласно моему поклоннику ЦП,неправильный путь).

1 Ответ

1 голос
/ 30 марта 2012

Ну, вы можете заключить ваши загрузочные элементы в .ajaxComplete ()

$('.log').ajaxComplete(function() {
$(this).text('Triggered ajaxComplete handler.');
});

Таким образом, вы запускаете поведение вашей дополнительной функции, когда все события ajax выполняются для определенного контейнера / селектора.

EDIT:

В этом случае вы все еще можете использовать jQuery.ajaxStop (). Он сработает, когда все ваши события Ajax завершены.

http://api.jquery.com/ajaxStop/

$('.log').ajaxStop(function() {
$(this).text('Triggered ajaxStop handler.');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...