jQuery的focus()方法在iOS中的setTimeout中使用时似乎不起作用。
所以,
setTimeout( function () {
// Appears to have no effect in iOS, fine in Chrome/Safari/Firefox/IE
$('.search').focus();
}, 500);
但就它而言,
// works fine.
$('.search').focus();
请参阅以下示例:
http://jsfiddle.net/nwe44/ypjkH/1/
如果在setTimeout之外进行focus()调用,则它会起作用,而不是。这是非常好奇的,因为其他方法确实有效。例如,在我的jsFiddle中,我可以更改边框颜色,只是不要对焦它。有任何想法吗?
答案 0 :(得分:2)
检查我在http://jsfiddle.net/ypjkH/7/
更新的小提琴 $('#selector').click( function (e) {
e.preventDefault();
setTimeout( doFocus
, 3000);
});
function doFocus() {
$('.search').focus().css('border', '1px solid red');
}
答案 1 :(得分:0)
对于我的应用程序,如果您只是将x.focus()放入(另一个)单独的函数并从setTimeout中调用它