我已经工作了好几天来解决iOS的限制,它不允许自动关注Ipad上的文本字段。 这里的问题很好地解释了Mobile Safari Autofocus text field。
我的目标是能够直接在屏幕上通过蓝牙扫描仪扫描条形码而无需用户互动。
我设法通过简单的方式设置了AutoFocus,我已经在iOS v6上测试了它
$('#MyTextField').trigger('focus');
document.activeElement返回我的文本字段,因为文本字段没有CURSOR。 是正常的吗?
我认为因为光标没有显示在文本框上,键盘没有显示,并且因为没有显示键盘,所以当我使用扫描仪时,按键事件不会触发!
答案 0 :(得分:0)
正如您在问题中链接到的SO中的讨论所涵盖的那样,输入无法以编程方式进行聚焦。似乎广泛接受的是,出于UX(以及可能的安全性)原因,这明确地是为了防止键盘的程序化显示。将activeElement
设置为输入听起来像代码中的疏忽,阻止设置焦点,而不是表明它可以解决。
您可以通过添加一些css来确认该字段实际上没有聚焦:
input::focus {
border: 1px solid red;
}
(当然有输入的默认焦点样式;我只是提到这一点,以使其绝对清晰)