Метод jQuery focus(), похоже, не работает при использовании из setTimeout в iOS.
Итак,
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/
Если вызов focus() выполняется вне setTimeout, он работает, внутри него нет. Это вдвойне любопытно, как работают другие методы. Например, в моем jsFiddle я могу изменить цвет границы, просто не фокусирую его. Есть идеи?