如何在 iPad HTML5 应用程序上抑制键盘弹出?
Posted
技术标签:
【中文标题】如何在 iPad HTML5 应用程序上抑制键盘弹出?【英文标题】:How can I suppress keyboard popup on an iPad HTML5 app? 【发布时间】:2010-07-23 16:45:38 【问题描述】:我为 iPad 编写了一个 html5 应用程序。它有一个输入字段。每次用户访问此页面时,都会出现弹出式键盘。
如何在 HTML5/JS 上下文中抑制这种默认行为?
在我的应用程序中,如果您输入登录名和密码,它会显示另一个屏幕(无需重新加载页面)。但是键盘还是存在的,需要手动隐藏。
【问题讨论】:
嗯..解决方案之一是禁用它...还有其他的吗? 也许,就像我的情况一样,因为您有一个 jQuery 日期选择器分配给该字段。但是禁用该字段也会禁用日期选择器。 在我的应用程序中,如果您输入登录名和密码,它会显示另一个屏幕(无需重新加载页面)。但是键盘仍然存在...而且您必须手动隐藏它... @Rob:将 datepicker 分配给隐藏的输入或其他可视的非表单元素,并向按钮添加点击事件。使点击事件触发日期选择器显示。如有必要,在完成(不确定真实姓名)事件上添加回调以获取返回的值,以便您可以在另一个可视化 HTML 元素(此时甚至是表单元素)中显示它。 在通过 ajax 提交表单之前,您是否尝试过在表单中的所有输入、textarea 上调用 blur? 【参考方案1】:我不确定我是否理解您对问题的描述,它似乎不完整。我可以尝试重新陈述一下,看看我是否理解正确?
-
用户在 iPad 上打开 Safari
用户在 Safari 的地址栏中输入您的 HTML5 应用程序的地址,然后点击“开始”按钮
用户被带到您的应用程序的登录页面。他们点击用户名字段,然后弹出键盘出现。
他们输入用户名,切换到密码字段,输入密码,然后点击“开始”按钮。
您的应用通过 javascript 在屏幕上加载一些不同的内容。弹出式键盘仍然存在。
如果这是您遇到的问题,那么在加载新页面的内容之前,可能值得在您的用户名和密码字段上调用 blur
函数。这可能会使键盘消失。
如果这些字段的 HTML 如下所示:
<input type="text" name="username" id="username">
<input type="password" name="password" id="password">
那么 JavaScript 将是:
document.getElementById('username').blur();
document.getElementById('password').blur();
【讨论】:
以上是关于如何在 iPad HTML5 应用程序上抑制键盘弹出?的主要内容,如果未能解决你的问题,请参考以下文章
专注于我们网站上的文本框时,在 iPad 上强制使用数字键盘