键盘打开时的android浏览器计时器

时间:2011-02-04 02:35:28

标签: android ajax asynchronous xmlhttprequest

我遇到过这个问题,当在android浏览器中打开软键盘时,异步函数不会执行。

例如:

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

只要您专注于文本输入,就永远不会看到警报。对于xhr回调也是如此。如果您尝试发出ajax请求,则会发送请求,但是直到您在文本框中键入其他字符后才会触发oncomplete回调。

有没有人知道解决方法?你可以看到谷歌显然有一个他们的搜索建议的工作示例,虽然我还没有能够通过查看缩小/混淆的源来弄清楚他们的解决方案到底是什么。

任何见解,谢谢,

1 个答案:

答案 0 :(得分:0)

使用

风格的最新jquery库
$("#inputnum").keyup(function(e){
  if (e.keyCode != '13') {
    $("#outputarea").slideUp('slow');
  };
});

一旦我在软件键盘或硬件键盘上输入任何字母,每次都会使用“#outputarea”选择的项目滑动。可能想给jquery lib一个镜头吗?跨浏览器兼容性是我不断回头的主要原因。