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

Posted

技术标签:

【中文标题】键盘打开时的android浏览器计时器【英文标题】:android browser timers when keyboard is open 【发布时间】:2011-06-21 02:37:18 【问题描述】:

我遇到了这个问题,在安卓浏览器中打开软键盘时,异步函数不执行。

例如:

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

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

有人知道解决方法吗?您可以看到 Google 显然有一个带有搜索建议的工作示例,尽管我还不能通过查看缩小/混淆的源来弄清楚他们的解决方案到底是什么。

感谢任何见解,谢谢

【问题讨论】:

【参考方案1】:

使用最新的 jquery lib 风格

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

导致每次使用“#outputarea”选择的项目都会向上滑动 - 只要我在软件键盘或硬件键盘上键入任何字母。可能想给 jquery lib 一个机会?跨浏览器兼容性是我继续使用它的主要原因。

【讨论】:

以上是关于键盘打开时的android浏览器计时器的主要内容,如果未能解决你的问题,请参考以下文章

iOS webview自动对焦在键盘打开时不起作用

键盘打开时布局不调整

Android -- 打开时隐藏软键盘

如何在键盘打开时隐藏浮动按钮(Android/iOS)?

在 Nexus Player、Android Cordova 应用程序上打开时输入第一个字符的虚拟键盘

如何创建一个倒数计时器,当屏幕关闭时停止并“等待”,重新打开时恢复。安卓