【问题标题】:Unable to trigger keyboard on input focus through JavaScript无法通过 JavaScript 在输入焦点上触发键盘
【发布时间】:2012-08-10 06:03:09
【问题描述】:

我正在开发一个 Web 应用程序,其中包含一个 form 和两个 input 元素。用户要求之一是在第一个input 中插入一个字符后,它应该是automatically trigger the focus of the next element and show the keyboard

在谷歌搜索之后,似乎不可能通过 JavaScript 以编程方式触发 iOS 上的键盘。但是原因我不太清楚,有人说这是一个 UX 功能,但我找不到任何有关它的官方信息。

所以我的问题是,我在哪里可以找到一些官方规范来解释这不可能的技术原因?

【问题讨论】:

  • 只要被聚焦的元素允许输入,键盘就会显示。它可能会滑开然后回来,但它应该在那里。你确定有焦点的元素是输入吗?
  • @MrOBrian 是的,这是一个输入。可以触发元素焦点,问题是它没有显示键盘。
  • 您使用什么版本的 iOS 进行测试?在进行一些搜索时,我一直在阅读有人将其报告为错误,其他人则说这是故意的,但也有人提到它已在 iOS5 中修复。基本上,在页面加载时设置焦点,或将焦点从一个文本元素更改为另一个,不会调出键盘,但从按钮的单击事件设置焦点会。

标签: javascript jquery iphone ios ipad


【解决方案1】:

官方规格:

http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/Introduction/Introduction.html#//apple_ref/doc/uid/TP40002079-SW1

很遗憾,官方规格不会回答您的问题。

通常,对于 iOS Safari 上的表单,键盘将保持打开状态,直到用户选择关闭它。当您自动聚焦下一个表单输入时,它会关闭键盘吗?

【讨论】:

  • 是的,当它自动聚焦下一个表单输入时,它会关闭键盘。
  • 你能粘贴你的js,将焦点转移到下一个表单吗?
  • 根据我读过的所有内容和我的经验,您不能在 iOS 中使用 .focus() 来聚焦输入。我很高兴看到你的解决方案专注于一个领域...... :)
  • 已经有几年的历史了,但是this question 有一个答案提到你只能专注于点击,所以设置一个按钮的点击事件来做焦点,然后点击按钮.
猜你喜欢
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多