Подтвердить что ты не робот

Клавиатуры сторонних производителей iOS 8 не регистрируют javascript/jQuery keyup, keypress, keydown и т.д.

При использовании сторонней клавиатуры, такой как события Swiftkey javascript, такие как keypress, не регистрируются. Например, автозаполнение карт Google не будет работать https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

Похоже на ошибку iOS, но любые идеи о том, как я могу обойти это?

4b9b3361

Ответ 1

Я нашел решение, используя setInterval и ответный метод отсюда Запуск автозаполнения Google Адресов

setInterval(function() {
if ($('input#mapSearch').is(':focus')) {
google.maps.event.trigger(document.getElementById('mapSearch'), 'focus', {});
}
}, 500);

Ответ 2

Будет ли это работать?

jQuery('#text_box').on('input propertychange paste', function() {
    // text has changed...
});

JSFIDDLE

Ответ 3

Вы можете просто вручную запускать события нажатия клавиш.

$textBox = $('#text_box') // We don't want to search the dom more than we have to.
setInterval(function(){
    $textBox.trigger('keypress')
}, 500)

Это определенно беспорядочное решение, но оно должно занять автозаполнение, а также другие обработчики, которые ждут нажатия клавиш.