Описание тега jquery-callback

Функция обратного вызова (в JavaScript) - это функция, переданная в качестве аргумента, которая вызывается, если определенное событие происходит в определенный период времени или после него. Обратные вызовы jQuery точно такие же, как обратные вызовы JavaScript, за исключением того, что jQuery вызывает обратный вызов в заданном контексте, который иногда отличается от контекста в vanillaJS.

В программировании обратный вызов - это часть исполняемого кода, который зарегистрирован для вызова в качестве ответа на определенные события. Это может быть что угодно, от прерывания, полученного определенного системного сигнала до пользовательских событий более высокого уровня, которые используются в jQuery.

Обратные вызовы jQuery точно такие же, как обратные вызовы JavaScript, за исключением одного: JavaScript вызывает функции обратного вызова либо в глобальном (window) context или контекст конкретного элемента DOM. Последнее относится к обратным вызовам (часто называемым обработчиками), передаваемым вaddEventListenerметод.
При использовании таких методов, как делегирование событий, обычный обработчик JavaScript будет вызывать обратный вызов в контексте элемента DOM, к которому прикреплен прослушиватель. jQuery вызовет обратный вызов в контексте цели события.
Пример такого различия:

$('body').on('click', 'a', function()
{
    console.log(this);//refers to the link that was clicked
});
document.body.addEventListener('click', function(e)
{
    var target = e.target || e.srcElement;
    if (target.tagName.toLowerCase() === 'a')
    {
        console.log(this);//logs body, that's where the listener was bound
        console.log(target);//logs the clicked link
    }
}, false);

Другими примерами обратных вызовов являются функции, переданные в setTimeout или setInterval. Эти функции помещаются в очередь, ожидая истечения заданного интервала, а затем вызываются механизмом JS, если и только если в это время механизм JS свободен.
У программиста нет реального контроля над порядком, в котором обрабатывается очередь, в случае, если несколько обработчиков событий поставлены в очередь, это может быть так, что сначала вызываются все обработчики, а затем обратный вызов тайм-аута получает свою очередь, или наоборот.

jQuery позволяет программистам создавать свои собственные очереди, используя $.queue, которым они могут управлять.