当DOM准备就绪时,如何在iOS上强制将焦点放在文本字段上?
当DOM准备就绪时,如何在iOS上强制将焦点放在文本字段上?
在iOS(iPad/iPhone/iPod)中,如何在DOM准备就绪时使用jQuery强制将焦点放在输入元素上?
我有一个条形码网页,需要立即将焦点放在一个文本字段上。
我发现jQuery在IE、Firefox、Chrome、Safari和Android上都能正常工作,但在iOS移动Safari和iOS移动Chrome上,当DOM准备就绪时无法让我将焦点放在一个文本字段上。
这是我目前的代码:
$j(document).ready(function() { $j('#barcode').focus(); });
有什么想法吗,伙计们/姑娘们?
问题的原因是,在iOS上的Mobile Safari和Chrome浏览器中,无法通过代码来强制将焦点放在文本框中。这个问题已经在以下的两个Stack Overflow的问题中讨论过:
- How do I focus an HTML text field on an iPhone (causing the keyboard to come up)?
- Mobile Safari: Javascript focus() method on inputfield only works with click
在iOS的Mobile Safari或Chrome浏览器上运行上述代码的结果会证实这个答案。
$("input").focus(); // Does not focus input in Mobile Safari or Chrome on iOS.
这段代码已经在以下设备上的Mobile Safari和Chrome浏览器中进行了测试(并失败了):
- 运行iOS 7 beta 6的iPhone 4
- 运行iOS 6.1.3的iPad 2
- 运行iOS 7 beta 5的iOS模拟器
解决方法:没有找到在iOS上通过代码强制将焦点放在文本框中的解决方法。