jQuery метод .focus()

jQuery события

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

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

jQuery синтаксис:

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

$( selector ).focus( handler ) 

handler - Function( Event eventObject )

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

eventData - Anything
handler - Function( Event eventObject )

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

$( selector ).on( "focus", handler ) 

$( selector ).trigger( "focus" ) 

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

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

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

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

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

<!DOCTYPE html>
<html>
	<head>
		<title>Использование jQuery метода .focus() (без параметров и с функцией)</title>
		<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
		<script>
	$( document ).ready(function(){
	  $( "button" ).click(function(){ // задаем функцию при нажатиии на элемент <button>
	    $( "div" ).focus(); // вызываем событие focus на элементе <div>
	  });
	  $( "input" ).focus(function(){ // задаем функцию при получении фокуса элементом <input>
	    $( "div" ).attr( "placeholder", "focus" ); // добавляем элементу <input> атрибут placeholder со значением focus
	  });
	  $( "input" ).blur(function(){ // задаем функцию при потери фокуса элементом <input>
	    $( "div" ).attr( "placeholder", "blur" ); // добавляем элементу <input> атрибут placeholder со значением blur
	  });
	});
		</script>
	</head>
	<body>
		<button>Клик</button>
		<input></input>
	</body>
</html>

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

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

Результат нашего примера:

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