Jquery определяет, удерживается ли клавиша на клавиатуре - PullRequest
4 голосов
/ 20 марта 2012

Я создаю приложение кроссворда, используя PhoneGap, и мне нужно определить, сделал ли пользователь быстрое нажатие на клавиатуре или удерживал клавишу, чтобы получить специальный символ.Что будет событием, чтобы обнаружить это?

РЕДАКТИРОВАТЬ: Когда я нажимаю кнопку и не отпускаю ее, то запускается keyup, прежде чем отпустить клавишу.IPhone не имеет этой проблемы, и эмулятор с версией SDK 8 также не имеет этой проблемы.HTC Desire S и, возможно, другие телефоны HTC могут иметь эту «функцию».Выглядит как ошибка для меня.

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

попробуйте это, если вы хотите в любой момент узнать, какие клавиши были нажаты:

var keys = array();
$(windows).keydown(function(e){
    keys[e.which] = true;
}
$(windows).keyup(function(e){
    keys[e.which] = false;
}

Если вы просто хотите вызвать действие, когда пользователь нажимает клавишу какое-то время, просто установите тайм-аут, которыйВы можете отменить, если запуск запускается до желаемого времени.

0 голосов
/ 20 марта 2012

Может быть, посмотрите, поступит ли другой код ключа

$('#input').live('keypress',function(e){
   console.log('keypress: '+e.keyCode);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...