2011-03-13 41 views
11

可能重复:
iPad HTML FocusJQuery的焦点()在iPad上的方法

有谁知道如何从jQuery的获取焦点()方法在iPad上工作,或者解决方法?我想要做的是让键盘弹出一个网页,因为我有jquery捕获击键来执行事件。但是,如果页面上没有文本框,我不知道如何让键盘弹出。现在,我已经在页面上的文本框,我试图使用jquery设置焦点到文本框,所以弹出的键盘。最重要的是,我将textboxs样式设置为显示:none,以便焦点转到文本框但未显示,因此该功能似乎可行。但是,focus()在ipad上被打破了!谁能帮我?

+0

对不起就是我的意思。这是否真的没有解决方法?我一直在设计的网站是围绕着这项工作而建的,所以我希望我能以某种方式做到这一点。 – JesseBuesking 2011-03-13 04:13:56

+0

不;因为Apple不希望键盘出现*除用户需求外*。虽然,可悲的是,我找不到一份文件来证明这一点。我的评论纯粹是基于经验观察,这是一种耻辱。 – 2011-03-13 04:16:28

回答

0
<input> 
<a href="#" class="label">Click</a> 
$('.label').mouseup(function(){ $('input').focus(); }); 

它在我的项目上工作。 只是用“鼠标松开”通过http://www.quora.com/Mobile-Safari-iPhone-or-iPad-with-JavaScript-how-can-I-launch-the-on-screen-keyboard

+0

这可以起作用,因为您从用户启动的事件(mouseup)启动了.focus()。从文档就绪或其他非用户启动的事件(超时等)中使用它时,它不起作用。突出显示框出现在字段周围,但没有键盘。 – Ads 2013-11-29 03:59:29

7

输入

捕捉事件和“焦点访谈”不幸的是,只有这样,才能得到一个键盘来展示,是用户发起的事件中。这是我最近一直在与自己争斗的事情。

下面,ilumin有一个很好的解决方案,但它不是唯一的一个。基本上,从我发现的情况来看,只要您在用户事件(例如mouseup或任何触摸事件[可能是触摸设备首选])内执行.focus()函数调用,那么你应该没有问题。

在某种程度上,我明白为什么苹果公司提出了这个限制,但同时,它使我的工作非常具有挑战性。

0

不幸的是,只有当您将焦点放在文本字段时,才会弹出键盘。请参阅this answer