IE8 не позволяет jQuery выделять текстовое поле - PullRequest
4 голосов
/ 19 октября 2010

У меня есть jQuery, который выдает всплывающее окно, как показано здесь:

http://www.jsfiddle.net/sLjfx/4/

Проблема в том, что следующая строка:

$('#txtValuation').focus();

, похоже, не хочет работать в IE8. Всплывающее окно загрузится, но текстовое поле не имеет фокуса, где в Chrome поле имеет фокус. Есть ли обходной путь?

1 Ответ

8 голосов
/ 19 октября 2010

У меня нет под рукой IE8, но попробуйте это: Я запустил свою виртуальную машину Windows, и это работает: http://www.jsfiddle.net/n25HE/ Все, что я сделал, это обернуло вызов focus ви вызовите ее через 10 мс после завершения обработки вашего обработчика событий, например:

setTimeout(function() {
    $('#txtValuation').focus();
}, 10);

Это дает IE время для фактической визуализации содержимого и создания элемента управления ОС для ввода текста.IE не может сфокусировать вещи, пока не существует базовый элемент управления.

...