【问题标题】:How can I suppress keyboard popup on an iPad HTML5 app?如何在 iPad HTML5 应用程序上抑制键盘弹出?
【发布时间】:2010-07-23 16:45:38
【问题描述】:

我为 iPad 编写了一个 HTML5 应用程序。它有一个输入字段。每次用户访问此页面时,都会出现弹出式键盘。

如何在 HTML5/JS 上下文中抑制这种默认行为?

在我的应用程序中,如果您输入登录名和密码,它会显示另一个屏幕(无需重新加载页面)。但是键盘还是存在的,需要手动隐藏。

【问题讨论】:

  • 嗯..解决方案之一是禁用它...还有其他的吗?
  • 也许,就像我的情况一样,因为您有一个 jQuery 日期选择器分配给该字段。但是禁用该字段也会禁用日期选择器。
  • 在我的应用程序中,如果您输入登录名和密码,它会显示另一个屏幕(无需重新加载页面)。但是键盘仍然存在...而且您必须手动隐藏它...
  • @Rob:将 datepicker 分配给隐藏的输入或其他可视的非表单元素,并向按钮添加点击事件。使点击事件触发日期选择器显示。如有必要,在完成(不确定真实姓名)事件上添加回调以获取返回的值,以便您可以在另一个可视化 HTML 元素(此时甚至是表单元素)中显示它。
  • 在通过 ajax 提交表单之前,您是否尝试过在表单中​​的所有输入、textarea 上调用 blur?

标签: javascript xhtml html ipad


【解决方案1】:

我不确定我是否理解您对问题的描述,它似乎不完整。我可以尝试重新陈述一下,看看我是否理解正确?

  1. 用户在 iPad 上打开 Safari
  2. 用户在 Safari 的地址栏中输入您的 HTML5 应用程序的地址,然后点击“开始”按钮
  3. 用户被带到您的应用程序的登录页面。他们点击用户名字段,然后弹出键盘出现。
  4. 他们输入用户名,切换到密码字段,输入密码,然后点击“开始”按钮。
  5. 您的应用通过 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();

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2013-04-14
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多