В jQuery возможно ли вызывать обратный вызов или инициировать событие после вызова .each()
(или любого другого типа итеративного обратного вызова) имеет завершено.
Например, я хотел бы, чтобы это "выцветание и удаление" завершилось
$(parentSelect).nextAll().fadeOut(200, function() {
$(this).remove();
});
прежде чем делать некоторые вычисления и вставлять новые элементы после $(parentSelect)
. Мои вычисления неверны, если существующие элементы все еще видны jQuery и спят/задерживают какое-то произвольное количество времени (200 для каждого элемента), в лучшем случае, как хрупкое решение.
Я могу легко .bind()
создать необходимую логику для обратного вызова события, но я не уверен, как чисто вызывать .trigger()
после завершения вышеперечисленной итерации. Очевидно, я не могу вызвать триггер внутри итерации, поскольку он срабатывал бы несколько раз.
В случае $.each()
я рассмотрел вопрос о добавлении чего-то в конец аргумента данных (который я бы искал вручную в теле итерации), но я бы не хотел, чтобы меня это принудили, поэтому я был надеясь, что есть еще один элегантный способ контролировать поток в отношении итеративных обратных вызовов.