Привязывает обработчик события к событию "focus" JavaScript, или вызывает данное событие на элемент.
.focus( handler(объектСобытия) )
Добавлена в версию: 1.0
handler(объектСобытия)
Функция
Функция выполняется каждый раз, когда вызывается событие.
.focus( )
Добавлена в версию: 1.0
.focus( [ данныеСобытия ], обработчик(объектСобытия)
Добавлена в версию: 1.4.3
Карта данных, которая будет передана в обработчик событий.
обработчик(объектСобытия)
Функция
Функция для выполнения каждый раз, когда событие вызвано.
-
Этот метод является сокращением для
.bind('focus', handler)
в первом варианте, и .trigger('focus') во втором. - Событие
focus передается элементу, когда он получает фокус.
Это событие косвенным образом, применимо к ограниченному набору элементов, таких как элементы формы (<input> , <select> , и так далее) и линки (<a href> ).
В последних версиях браузера, это событие может быть распространенно на все типы элементов, явно устанавливая свойство tabindex .
Элемент может получить фокус с помощью клавиатурных команд, таких как Tab или нажатия мышкой на элемент. -
Элементы с фокусом, как правило, подчеркиваются каким либо образом в браузере, например, пунктирной линией вокруг элемента.
Фокус используется, чтобы определить, какой элемент является первым, чтобы получить события, связанные с клавиатурой.
Для примера, рассмотрим HTML:
<form>
<input id="target" type="text" value="Field 1" />
<input type="text" value="Field 2" />
</form>
<div id="other">
Trigger the handler
</div>
Обработчик события может быть связан с первым полем ввода:
$('#target').focus(function() {
alert('Handler for .focus() called.');
});
Теперь, если щелкнуть на первом поле, или перейти на него при помощи табуляции из другой области, будет выдано предупреждение:
Handler for .focus() called. Мы можем также вызвать событие, когда другой элемент нажат:
$('#other').click(function() {
$('#target').focus();
});
После выполнения этого кода, нажатие на Trigger the handler также выдаст сообщение.
Событие focus ограниченно выполняется в Internet Explorer.
Таким образом, сценарии, которые основанны на делегации события с событием focus
не будут последовательно работать во всех браузерах.
Запуск фокуса на скрытые элементы приводит к ошибке в Internet Explorer.
Позаботесь вызывать .focus() без параметров только на видимые элементы.
Примеры
Пример 1
Активирует событие focus.
$("input").focus(function () {
$(this).next("span").css('display','inline').fadeOut(1000);
});
Пример 2
Чтобы запретить пользователям писать что-либо в поля ввода, попробуйте сделать так:
$("input[type=text]").focus(function(){
$(this).blur();
});
Пример 3
Для того, чтобы при загрузке страницы немедленно передать фокус элементу с ID ‘login’, можно сделать так:
$(document).ready(function(){
$("#login").focus();
});
|