Обработчик события focusout
Устанавливает обработчик потери фокуса элементом или одним из его дочерних. Метод имеет два варианта использования:
Устанавливает функцию handler в качестве обработчика события focusout, на выбранные элементы.
Метод является аналогом bind("focusout", handler(eventObject)).
handler(eventObject) — функция, которая будет установлена в качестве обработчика. При вызове она будет получать объект события eventObject.
Метод отличается от предыдущего возможностью передавать в обработчик дополнительные данные.
Является аналогом bind("focusout", eventData, handler(eventObject)).
handler(eventObject) — см. выше.
eventData — дополнительные данные, передаваемые в обработчик. Они должны быть представлены объектом в формате: {fName1:value1, fName2:value2, ...}.
Убрать установленный обработчик можно с помощью метода unbind().
Метод хорошо сочитается с focusin() и плохо с focus() (оба являются методами получения фокуса).
В отличае от blur, событие focusout происходит как при потери фокуса самим элементом, так и его дочерними.
Пример
// установим обработчик события focusout, элементу с идентификатором foo $('#foo').focusout(function(){ alert('Элемент foo потерял фокус.'); }); // установим еще один обработчик события focusout, на этот раз элементам // с классом block. В обработчик передадим дополнительные данные $('.block').focusout({a:12, b:"abc"}, function(eventObject){ var externalData = "a=" + eventObject.data.a + ", b=" + eventObject.data.b; alert('Элемент с классом block потерял фокус. '+ 'В обработчик этого события переданы данные: ' + externalData ); });