【发布时间】:2018-09-16 10:32:35
【问题描述】:
我正在做一个聊天服务,我想很好地支持移动设备。
在下面的屏幕截图中,有一个输入字段。它允许键入文本,并且为了避免诸如“如果文本字段未集中键入什么都不做”之类的问题,它会在单击外部时自动获得焦点 - 这确实改善了台式计算机的体验。但是,在带有软件键盘的设备上,这会导致屏幕键盘出现在移动设备上,这会分散注意力。
考虑到点击任何地方都会聚焦文本输入,是否有可能使屏幕键盘仅在按下文本字段时出现?或者,以某种方式检测启用了软件键盘的设备并为它们禁用此功能。最好不要明确尝试检测移动设备、触摸屏或其他任何带有硬件键盘的触摸屏设备。
我能够在 Android 上的 Google Chrome 和 Opera Mobile 中重现此问题,并且显然它发生在 iPhone 上,尽管我没有设备可以对其进行测试。
这是一个相当简单的问题示例。如果你触摸粉红色的矩形,它会导致触摸键盘出现,这是我不想要的。
<input type=text id=f>
<div style="background: pink; height: 200px; width: 200px" onclick="f.focus()">
【问题讨论】:
标签: javascript focus html-input soft-keyboard