Html 移动设备上的自动对焦文本字段,但没有键盘?

Html 移动设备上的自动对焦文本字段,但没有键盘?,html,mobile,autofocus,Html,Mobile,Autofocus,作为我的登录和注册表单的一部分,如果有错误,它将自动聚焦相关字段。事实上,这并不像我想的那么简单。让我来解释一下 基本上,在这个项目中,页面是用AJAX加载的。表单可能包括一个自动对焦属性。这非常有效,但在移动设备上,它只显示光标而不显示键盘,这意味着您仍然需要点击输入才能开始键入 我是错过了什么,还是我必须用这样的东西来加倍聚焦 document.querySelector("[autofocus]").focus(); // with appropriate verification tha

作为我的登录和注册表单的一部分,如果有错误,它将自动聚焦相关字段。事实上,这并不像我想的那么简单。让我来解释一下

基本上,在这个项目中,页面是用AJAX加载的。表单可能包括一个
自动对焦
属性。这非常有效,但在移动设备上,它只显示光标而不显示键盘,这意味着您仍然需要点击输入才能开始键入

我是错过了什么,还是我必须用这样的东西来加倍聚焦

document.querySelector("[autofocus]").focus();
// with appropriate verification that the element exists, of coursr
在移动设备中(至少在苹果的Safari中),如果用户没有点击输入字段,键盘是不允许显示的。这是故意的,我认为你对此无能为力。


我不认为这是100%正确的,我有一个网站,它有一个包含输入的下拉菜单,当下拉菜单打开时,它会对输入调用
.focus()
。当我在iPad 2上的Safari中打开下拉菜单时,在我点击输入之前,它会自动打开键盘。这不清楚,但quora链接确实暗示问题在于自动事件(如onload、ready等)都无法在焦点上显示键盘()-但任何由用户事件触发的事件,如onclick等,如果他们调用focus(),它确实会显示键盘。不是用户必须单击实际输入才能工作,而是用户必须与页面交互,我怀疑这意味着生成任何事件