В моем конкретном случае подошел бы даже такой метод:
$.ajaxStop(function(){allgood()})
Т.к. allgood() сохраняет порядок расположения элементов и ее можно безболезненно запускать когда угодно, главное, чтобы в это время не добавились или удалились элементы.
Правда, если появятся левые аякс запросы, то способ окажется не кошерным. Тогда вроде бы подходит такой вариант:
$(".log").ajaxComplete(function(e, xhr, settings){
if (была запущена функция добавления/удаления) allgood()
});
Но как отследить, что в ajaxComplete участвовали функции добавления/удаления (в моем случае, они посылают post-запрос "type":"add"/"delete").
Другой вариант:
$.when( deferred1, deferred2,… )
Подходящая штука, только хорошо бы в место deferred1, deferred2,… напрямую использовать deferred из метода $.ajax, только как получить ссылку на него?