Таймеры браузера Android при открытии клавиатуры

Я столкнулся с этой проблемой, когда асинхронные функции не выполняются, когда мягкая клавиатура открыта в браузере Android.

Например:

<input type='text' id='foo'/> .... document.getElementById("foo").addEventListener("keyup", function() { window.setTimeout(function() { alert("1"); }, 20); }, false); 

Вы никогда не увидите предупреждения до тех пор, пока будете сосредоточены на вводе текста. Это справедливо и для обратных вызовов xhr. Если вы попытаетесь выполнить запрос ajax, запрос отправляется, но неполный обратный вызов никогда не запускается до тех пор, пока вы не наберете другой символ в текстовом поле.

Кто-нибудь знает обходное решение? Вы можете видеть, что Google, очевидно, имеет рабочий пример с их поисковыми предложениями, хотя мне еще не удалось выяснить, что именно их решение пока есть, посмотрев на минифицированный / запутанный источник.

Любое понимание оценено, спасибо

    Использование новейшей jquery lib в стиле

     $("#inputnum").keyup(function(e){ if (e.keyCode != '13') { $("#outputarea").slideUp('slow'); }; }); 

    Вызывает выбор элемента с «#outputarea» каждый раз – как только я набираю любую букву на клавиатуре программного обеспечения или аппаратной клавиатуре. Можете ли вы дать jquery lib кадр? Совместимость между браузерами – главная причина, по которой я постоянно возвращаюсь к ней.