jQuery метод .blur()

Определение и применение

jQuery метод .blur() привязывает JavaScript обработчик событий "blur" (потеря фокуса элементом), или запускает это событие на выбранный элемент.

jQuery синтаксис:

JavaScript
Синтаксис 1.0:
$( selector ).blur() // метод используется без параметров

$( selector ).blur( handler ) 

handler - Function( Event eventObject )

Синтаксис 1.4.3:
$( selector ).blur( eventData, handler ) 

eventData - Anything
handler - Function( Event eventObject )

Обращаю Ваше внимание, что метод .blur(), используемый вместе с функцией, переданной в качестве параметра (handler) является, короткой записью метода .on(), а без параметра является короткой записью метода .trigger():

JavaScript
$( selector ).on( "blur", handler ) 

$( selector ).trigger( "blur" ) 

Добавлен в версии jQuery

1.0 (синтаксис обновлен в версии 1.4.3)

Значения параметров

Параметр Описание
eventData Объект, содержащий данные, которые будут переданы в обработчик событий.
handler Функция, которая будет выполнена каждый раз, когда событие срабатывает. Функция в качестве параметра может принимать объект Event.

Пример использования

Пример использования jQuery метода .blur() (без параметров и с функцией)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button>Клик</button><br />
<input />
main.js
JavaScript
$(document).ready(function () {
    $('button').click(function () {
        $('input').blur()
    })
    $('input').focus(function () {
        $('input').attr('placeholder', 'focus')
    })
    $('input').blur(function () {
        $('input').attr('placeholder', 'blur')
    })
})

В этом примере с использованием jQuery метода .blur() мы при нажатии на элемент <button> (кнопка) вызываем событие "blur" на элементе <input>. Самому элементу <input> задаем, что при срабатывании события "blur" на элементе выполнить функцию, которая с использованием метода .attr() добавляет атрибут placeholder со значением blur.

Кроме того, мы с использованием jQuery метода .focus() устанавливаем, что при получении фокуса элементом <input> вызвать функцию, которая с использованием метода .attr() добавляет атрибут placeholder со значением focus.

Рассмотрим следующий пример, в котором мы используем jQuery метод .blur() с двумя параметрами:

Пример использования jQuery метода .blur() (с двумя параметрами)

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<input />
<span></span>
main.js
JavaScript
$(document).ready(function () {
    var eventData = { myData: 'information here' }
    $('input').blur(eventData, function (event) {
        $('span').text('eventData: ' + event.data.myData)
    })
})

В этом примере с использованием jQuery метода .blur() мы при при потере фокуса элементом <input> задаем функцию, которая передает данные в объект события Event (значение созданной переменной) и методом .text() выводим в элементе <span> эти данные с использованием свойства data объекта Event.