<div class="search">
<input type="text" value="y u no work"/>
</div>
我想在一个函数内部使用 focus()
来聚焦它。
所以在一个随机函数内部(函数名不重要)我有这行代码...
$('.search').find('input').focus();
这在任何桌面设备上都能正常工作。
但是在我的iPhone上无法正常工作。该字段没有获得焦点,键盘也没有显示在我的iPhone上。
为了测试目的并向大家展示问题,我做了一个简单的示例:
$('#some-test-element').click(function() {
$('.search').find('input').focus(); // works well on my iPhone - Keyboard slides in
});
setTimeout(function() {
//alert('test'); //works
$('.search').find('input').focus(); // doesn't work on my iPhone - works on Desktop
}, 5000);
有没有想法为什么在我的iPhone上,
focus()
和timeout函数一起使用时不起作用?请在您的iPhone上测试此fiddle以查看实时示例:http://jsfiddle.net/Hc4sT/ 更新:
我创建了与我当前项目中面临的完全相同的情况。
我有一个选择框,当“更改”时,应将焦点设置到输入字段并在iPhone或其他移动设备上滑入kexboard。我发现focus()被正确设置,但键盘没有显示出来。我需要键盘显示出来。