Обработчик или источник события keyup

.keyup()

Устанавливает обработчик возвращения клавиши клавиатуры в ненажатое состояние, либо, запускает это событие. Метод имеет три варианта использования:

.keyup(handler(eventObject)):jQuery1.0

Устанавливает функцию handler в качестве обработчика события keyup, на выбранные элементы.
Метод является аналогом bind("keyup", handler(eventObject)).

handler(eventObject) — функция, которая будет установлена в качестве обработчика. При вызове она будет получать объект события eventObject.

.keyup(eventData, handler(eventObject)):jQuery1.4.3

Метод отличается от предыдущего возможностью передавать в обработчик дополнительные данные.
Является аналогом bind("keyup", eventData, handler(eventObject)).

handler(eventObject) — см. выше.
eventData — дополнительные данные, передаваемые в обработчик. Они должны быть представлены объектом в формате: {fName1:value1, fName2:value2, ...}.

.keyup():jQuery1.0

Вызывает событие keyup, у выбранных элементов страницы. Метод является аналогом trigger("keyup").

Замечание 1: Убрать установленный обработчик можно с помощью метода unbind().

Замечание 2: Все три варианта использования метода, являются аналогами других методов (см. выше), поэтому все подробности использования keyup(), можно найти в описании этих методов.

Замечание 3: Метод часто используют совместно с keydown(), который обрабатывает переход клавиши клавиатуры в нажатое состояние.

Обработчик может быть установлен на любой элемент страницы, однако он получит уведомление о событии, только если этот элемент будет находиться в фокусе. Поскольку в различных браузерах список элементов, которые могут получать фокус, может отличаться, то надежнее всего будет привязать это событие к элементам формы. Если необходимо отслеживать нажатие клавиши не в отдельном элементе, а на всей странице сразу, то можно привязать обработчик к объекту документа: $(document).keyup(handler).

Код нажатой клавиши

Для того, чтобы узнать какая именно клавиша клавиатуры была отпущена, можно посмотреть значение переменной eventObject.which, которая содержит код нажатой клавиши. Надо отметить, что метод keyup как и keydown определяют отпущенную клавишу, а не вводимый с ее помощью символ, таким образом, при введении латинских "a" и "A" и кириллических "ф" и "Ф", переменная eventObject.which внутри обработчика события keyup будет содержать одно значение — 65, поскольку все они находятся на одной кнопке. Таблицу с кодами всех клавиш представлена в отдельной статье.

Для того, чтобы узнать вводимый символ (а не клавишу) нужно использовать метод keypress.

Пример

// установим обработчик события keyup, элементу с идентификатором foo
// и проверим, какая именно клавиша была отпущена
$('#foo').keyup(function(eventObject){
  alert('Клавиша клавиатуры возвратилась в ненажатое состояние. Код символа на этой клавише - ' + eventObject.which);
});
 
// вызовем событие keyup на элементе foo
$('#foo').keyup();
 
// установим еще один обработчик события keyup, на этот раз элементам 
// с классом block. В обработчик передадим дополнительные данные
$('.block').keyup({a:12, b:"abc"}, function(eventObject){
  var externalData = "a=" + eventObject.data.a + ", b=" + eventObject.data.b;
  alert('Кнопка клавиатуры была отпущена. '+
        'В обработчик этого события переданы данные: ' + externalData );
});

Ссылки

Поисковые ключи:
  • отпущена клавиша клавиатуры
  • отпущена кнопка клавиатуры
  • поднятие клавиши
  • возвращение клавиши клавиатуры
  • клавиша клавиатуры приняла ненажатое состояние
  • кнопка клавиатуры вернулась в ненажатое состояние
  • обработчик события keyup
  • обработка события keyup
  • .keyup()
  • keyup()