Я испытываю затруднения при захвате клавиши возврата на клавиатуре в качестве события клавиатуры в javascript / jQuery. В Firefox, Safari, Opera, Chrome и на iPhone / iPad я записываю событие keyup в поле ввода текста следующим образом:
$(id_input).keyup(function(event) {
that.GetHints($(this).val().trim(), event, fieldName);
});
Это событие захватывает нажатия клавиш пользователя, а затем отправляет их функции, чтобы выполнить вызов поиска ajax.
Моя проблема возникает, когда пользователь желает вернуться на символ, который он / она уже набрал. Во всех браузерах, к которым у меня есть доступ, кроме моего телефона Droid, когда я нажимаю клавишу возврата, это событие keyup захватывает значение, возвращаемое $ (this) .val (). Trim (), и отправляет его на обработку в функцию. GetHints. На Droid, однако, ни этот keyup, ни эквивалентное событие keydown не срабатывают до тех пор, пока пользователь не возвратится через каждый символ в $ (this).
Так, например, если я наберу «cu», то после возврата на «u» оставлю только «c» в поле ввода, во всех браузерах, кроме Droid, событие keyup сработает и вызовет функцию GetHints("c", event, fieldName)
. На Droid событие keyup никогда не срабатывает.
Чего мне не хватает? Как / почему эта клавиша возврата на клавиатуре Droid не работает должным образом? Как мне обойти это?