你能用JavaScript显示/隐藏iPad Safari键盘吗?

时间:2011-04-15 09:55:05

标签: javascript iphone ipad safari mobile-safari

是否可以通过代码控制iPad Safari中的键盘显示(即显示/隐藏)?

我有2个表单字段;  1.文字框(比如姓名)  2.选择列表/下拉列表(说出状态)

我的问题是当用户将焦点从名称移动到状态时,键盘仍然存在。为什么会这样?当焦点移动到下拉列表时如何隐藏键盘?

谢谢。

2 个答案:

答案 0 :(得分:2)

我遇到了一个非常类似的问题,不确定我的解决方案是否适合您。

在我的情况下,我在表单中有一个文本输入。提交时,我正在使用e.preventDefault()来阻止页面导航。我相信这也有阻止隐藏键盘的默认操作的效果。

为了解决这个问题,我在提交表单时添加了一个明确的input.blur()。这似乎足以让safari移除键盘。

希望这有帮助!

答案 1 :(得分:1)

我有同样的问题。我有一个表单,当键入字段时键盘应该折叠(不是ipad上的原生行为)和焦点选择字段时。对我来说唯一的解决方案是创建隐藏的输入

<input type="hidden" id="blurInput" />

和焦点事件的javascript代码处理程序:

$element = $(event.target);
if($element.is('select')) {
    $('#blurInput').blur();
    $element.focus();
}

如果您只想模糊输入字段,另一个解决方案可以完美运行,但在输入和选择之间它会失败

document.activeElement.blur();
$('input').blur();