iOS5 Safari:键盘不会隐藏在主屏幕的HTML应用程序中
iOS5 Safari: Keyboard does not hide in a home screen HTML app
我正在为iPad开发一个自定义应用程序,它可以作为主屏幕应用程序运行,但全部由CSS/HTML/Javascript制作。(此处不使用SDK)
我遇到了一个问题,我在我的页面中内置了一个计算器,没有隐藏键盘。不管我怎么做,键盘都不动。我已经广泛地搜索了这个问题,并尝试了我能想到的所有方法,但无论我怎么做,键盘总是不动。
我试图隐藏键盘的解释:
我已经尝试模糊所有输入字段,以消除焦点。我试过将焦点放在非文本字段项上。
在今年早些时候/去年,Stackoverflow上有几个线程建议这两个选项,但它们似乎不再工作了。
为了进一步测试,我在计算器上方的img上放了一个空白的a href="#",这样我就可以将焦点设置在非输入项上,看看这是否会自动最小化键盘。当我点击键盘上方的项目时,焦点改变,我不再处于输入模式,但键盘保持向上。
苹果在最新的更新中破坏了这个功能吗?如果是这样,有没有解决办法?
下面是一些不能工作的示例代码:
$('input').blur(function(e) {
// Keyboard disappeared
window.scrollTo(0, 1);
});
这段代码成功地移除了输入的焦点,但是键盘保持在上面。我还尝试了相反的方法,只关注非文本元素。此外,如前所述,我只是直接在页面上添加了一个非文本元素,但仍然没有隐藏键盘。
非常感谢任何帮助,如果我错误地转发了,请随意链接/辱骂我。:)
你应该能够模糊它,只要使用像这样的东西
$('input').blur();
你应该把它放在函数/过程中,当你想要它消失的时候,除非你想完全禁用它?
document.activeElement.blur()
在一个try catch块内为我工作。(可能你还需要一个setTimeout?我不需要超时,尽可能避免超时是很重要的,因为它们很容易导致讨厌的heisen-bug !)
还要仔细检查您没有在鼠标下拉或单击事件(这会导致键盘显示)的某个地方调用focus()。您可以使用console.log(document.activeElement.tagName);
或类似的工具来帮助查找当前关注的内容。
然而,如果你找不到解决方案,那么我非常有兴趣看看你如何让键盘保持up…我有一个用途:-)
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 如何显示显示的html元素:在特定的媒体屏幕上没有
- 我可以通过点击html文件中的按钮来记录我的屏幕/网页吗
- HTML全页缩放取决于屏幕分辨率
- 如何修复在浏览器中打开后出现在屏幕上的html/Javascript代码
- 如何在html和javascript中捕捉聚合物元素的屏幕截图
- HTML/JS 如何输入文本并使其显示在屏幕上
- HTML导航在屏幕底部,并粘贴到顶部
- Html引导程序表未显示在屏幕上
- 将特定html文件上的幻灯片图像调整为移动屏幕
- 如何在屏幕大小上将html文件更改为另一个html文件
- 当用户在HTML中点击回车键时,我如何将输入打印到屏幕上
- 根据屏幕大小自动调整HTML按钮的大小
- Html帆布1600x1200屏幕撕裂
- HTML,尝试在左侧创建一个滑动菜单(带有屏幕截图)
- 如何在较小尺寸的屏幕中间以单独的 html 形式获取 php 文件的输出
- iPhone上的html文件到照片库的屏幕截图
- 创建一个 html 表,其中包含动态扩展的列数以适应屏幕大小
- HTML 和 CSS 在所有屏幕尺寸上垂直对齐正文网站