猿问

移动Safari:inputfield上的JavaScript focus()方法仅适用于单击吗?

我似乎找不到解决此问题的方法。


我有一个像这样的简单输入字段。


<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);

知道为什么focus()我的iPhone无法使用超时功能。


要查看实际示例,请在iPhone上测试此小提琴。http://jsfiddle.net/Hc4sT/


更新:


我创建了与当前项目完全相同的案例。


我有一个选择框,应该在“更改”时将焦点设置到输入字段,然后将其滑入iPhone或其他移动设备上的Kexboard。我发现focus()设置正确,但是键盘没有出现。我需要显示键盘。


我将测试文件上传到了这里http://cl.ly/1d210x1W3Y3W…如果您在iPhone上进行测试,您会发现键盘没有滑入。


慕无忌1623718
浏览 346回答 3
3回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答