focus () не работает в setTimeout на iOS

Метод 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 я могу изменить цвет границы, но не фокусировать ее. Есть идеи?

12
задан Nicholas Evans 28 July 2011 в 22:15
поделиться