我正在开发一款作为主屏应用程序运行的iPad自定义应用程序,但它是用所有CSS / HTML / Javascript制作的。 (此处未使用SDK)
我遇到了一个问题,我已经在我的页面中内置了一个不隐藏键盘的计算器。无论我做什么,键盘都会翘起来。我对此进行了广泛的搜索并尝试了我能想到的一切,但无论我做什么,键盘都会保持不变。
解释我试图隐藏键盘的内容:
我试图模糊所有输入字段以移除焦点。我已经尝试将焦点设置为非文本字段项。
今年早些时候/去年早些时候Stackoverflow上有几个线程提出了这两个选项,但它们似乎不再起作用了。
为了进一步测试,我在计算器上方的img上放了一个空白的href =“#”,以便我可以将焦点设置在非条目上,看看是否会自动最小化键盘。当我点击键盘上方的那个项目时,焦点会改变,我不再处于输入模式,但是键盘保持不动。
Apple是否通过最新更新破解了此功能?如果是这样,有解决方法吗?
以下是一些不起作用的示例代码:
$('input').blur(function(e) {
// Keyboard disappeared
window.scrollTo(0, 1);
});
该代码成功地从输入中移除焦点,但键盘保持不变。我还试图通过.focus ing非文本元素来反转它。另外,如前所述,我直接在页面上添加了一个非文本元素,但仍然没有隐藏键盘。
非常感谢您的帮助,如果我错误地转发,请随时链接/虐待我。 :)
答案 0 :(得分:0)
你应该能够通过使用类似的东西来模糊它
$('input').blur();
你应该将它放在你希望它消失的函数/程序中,除非你想要完全禁用它吗?
答案 1 :(得分:0)
document.activeElement.blur()
对我有用。 (可能你还需要一个setTimeout?我不需要超时,重要的是尽可能避免超时,因为它们很容易造成令人讨厌的heisen-bugs!)
另外请仔细检查您是否在mousedown或click事件中的某个地方调用focus()(导致键盘显示)。您可以使用console.log(document.activeElement.tagName);
或类似内容来帮助查找当前焦点。
但是,如果你找不到解决方案,那么我非常有兴趣了解你如何让键盘保持稳定...我有一个用途: - )