jQuery, нажатая клавиша

Рейтинг: 1Ответов: 2Опубликовано: 23.06.2011

Как в jQuery узнать какая клавиша нажата, получите ее значение?

Ответы

▲ 2Принят

если уж очень хочется на jquery

$('#target').keydown(function(event) {
  if (event.keyCode == 13) { 
  // здесь 13 это код нажатой на клаве кнопки, 13 это ентер, ниже есть ссылка на страницу со всеми кодами и на какую клавишу они ведут

      //какое то действие которое происходит если нужная клавиша нажата
  }
}

если же вам нужен допустим crtl + enter то условие будет такое

if (event.ctrlKey && event.keyCode == 13) 

коды кнопок тут

▲ 1

Вам нужно по экспериментировать. Некоторые клавиши удается отловить при помощи keydown, а некоторые только по keyup, здесь все зависит от браузера. Например, я очень часто сталкивался с ситуацией, когда нажимаешь TAB, в обработчик приходит keydown, а keyup уже прийдет к следующему контролу, на который переместится фокус ввода. Самые верный способ - повесить обработчики keydown, keyup, keypress на input и выводить коды клавиш (с которыми кстати тоже есть определенный гемор) вместе с названием события в консоль, чтобы разобраться какие коды куда приходят, и уже исходя из этого исследования вести разработку.