jQuery - jQuery - запрос:как захватить нажатие клавиши с помощью live()

StackOverflow https://stackoverflow.com/questions/1165981

  •  19-09-2019
  •  | 
  •  

Вопрос

Мне нужно зафиксировать событие нажатия клавиши tab на некоторых динамических входных данных, но обычный синтаксис, использующий событие нажатия клавиши, похоже, не улавливает код клавиши.

$('input').live('keypress', function (e) {
   if ( e.which == 9 )
       alert( 'Tab pressed' );
});

Кажется, это улавливает 0 в качестве нажатия клавиши, когда я прохожу через отладчик в firebug, независимо от того, какую клавишу я нажимаю.

Это было полезно?

Решение

Попробуйте сделать это с помощью .keyCode вместо .который:

$('input').live('keypress', function (e) {
   if ( e.keyCode == 9 ){
       alert( 'Tab pressed' );
    }
});

Кажется, работает ;)

Другие советы

Попробуйте прислушаться к keyup или keydown вместо того , чтобы keypress (согласно этому сообщению SO)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top