iPad 上的 JQuery focus() 方法

11

可能是重复问题:
iPad HTML焦点

有人知道如何在iPad上使用jQuery的focus()方法,或者有什么解决方法吗?我想做的是,在网页上弹出键盘,因为我正在使用jQuery捕获按键来执行事件。但是,如果页面上没有文本框,我不知道如何弹出键盘。现在我在页面上有了文本框,我正在尝试使用jQuery将焦点设置到文本框,以便弹出键盘。除此之外,我将文本框的样式设置为display:none,这样焦点就会转移到文本框,但是它不可见,所以功能似乎可以正常工作。然而,iPad上的focus()方法无法正常工作!有人能帮帮我吗?


抱歉,我想表达的是<input type="Text" />。这个问题真的没有解决方法吗?我设计的网站基本上是围绕着这个工作的,所以我希望能够以某种方式实现它。 - JesseBuesking
不行;因为苹果不希望键盘出现,除非用户要求。但是,遗憾的是,我找不到证明这一点的文件。我的评论纯粹基于经验观察,这很遗憾。 - David Thomas
3个回答

7
很遗憾,唯一的显示键盘的方法是在用户启动事件期间。最近我也一直在努力解决这个问题。
以下是 ilumin 提供的一个好的解决方案,但它不是唯一的解决方案。从我所发现的来看,只要您在用户事件中执行 .focus() 函数调用(例如 mouseup 或任何触摸事件[这对于触摸设备可能更好]),则不应该有问题。
在某种程度上,我理解为什么苹果会做出这样的限制,但同时,这使我的工作非常具有挑战性。

0

这是因为您从用户触发的事件(mouseup)启动了.focus()。如果您从文档准备好或其他非用户触发的事件(超时等)中使用它,它将无法正常工作。高亮框出现在字段周围,但没有键盘。 - Ads

0

很遗憾,只有在文本字段中聚焦时才会弹出键盘。请参见此答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接