Я усиливаю (в угловой директиве) google помещает автозаполнение ввода, чтобы выбрать первый вариант, если ни один не выбран.
Я использую приведенный ниже код, который работает как талисман при использовании «вкладки»или клавиша «Ввод».
К сожалению, она не работает на устройстве Android (Chrome) с виртуальной клавишей «Следующая» клавиша ...
Какой может быть код клавишиэта клавиша " next ", так как она не является ни "tab" (9), ни "enter" (13)
selectFirstOnEnterOrTab(input) {
// prevent submit on enter (13)
$(input).keydown(function (e) {
if (e.which === 13 && $('.pac-container:visible').length) {
return false;
}
});
// store the original event binding function
const _addEventListener = (input.addEventListener) ? input.addEventListener : input.attachEvent;
function addEventListenerWrapper(type, listener) {
// Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
// and then trigger the original listener.
if (type === 'keydown') {
const orig_listener = listener;
listener = function (event) {
const suggestion_selected = $('.pac-item-selected').length > 0;
if ((event.which >= 9 && event.which <= 13) && !suggestion_selected) {
const simulated_downarrow = $.Event('keydown', {
keyCode: 40, which: 40
});
orig_listener.apply(input, [simulated_downarrow]);
}
orig_listener.apply(input, [event]);
};
}
_addEventListener.apply(input, [type, listener]); // add the modified listener
}
if (input.addEventListener) {
input.addEventListener = addEventListenerWrapper;
} else if (input.attachEvent) {
input.attachEvent = addEventListenerWrapper;
}
}
EDIT
Следуя предложению Питто, я зарегистрировал код и код на моем устройстве Android, и для всех нажатых клавиш я получаю 229, что, по-видимому, является нормальным поведением для Android.Любые идеи о том, как я могу обновить свой код для его работы на устройстве Android тоже ...
EDIT2
На андроиде, на "следующий" нажал, естьнет keydown событие сработало