iPad HTML Focus

apc*_*ter 7 html jquery ipad

我有一个问题,关注iPad上的文本字段.我在哪里使用:

$(document).bind("click",function(event) {
    alert('click');
    focusTextArea();
});
Run Code Online (Sandbox Code Playgroud)

焦点设置为文本区域,并出现键盘.但是,当使用touchend调用时,focusTextArea不会调用并且键盘不可见.我的focusTextArea功能是:

function focusTextArea() {
    $('#textArea').focus();
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况,以及我怎么能够让它发挥作用?

TIA,

亚当

hal*_*.am 15

不幸的是,iPad无法实现对焦.将焦点放在所需字段中的唯一方法是用户"点击"所需字段.

更新2015-01-08:

正如在解释这个答案马特:

...如果调用堆栈中的第一个函数是由非编程事件触发的,iOS将只允许在函数内的其他元素上触发焦点.在您的情况下,对setTimeout的调用启动一个新的调用堆栈,安全机制启动以防止您将焦点设置在输入上.

  • 不完全正确:如果焦点是在另一个INPUT字段上的click事件的回调中触发的,这实际上是有效的(除非你之间有一个动画似乎再次中断这个选项......).是的,它有点(不)有效,有点:P (4认同)