IE, значение текстовой области не изменяется при нажатии кнопок - PullRequest
0 голосов
/ 22 сентября 2010

У меня очень неприятная проблема с фокусом в Internet Explorer.

У меня есть текстовая область для ввода текста.Эта текстовая область невидима для пользователя и используется только для обеспечения надежного ввода текста для более расширенного просмотра.

Поскольку текстовая область не видна и не должна быть, я использую textarea.focus () вJavaScript для активации ввода текста.До сих пор это работало нормально, где я получал действительно странные результаты.

Для ввода текста я в основном использую это событие плюс точную копию для onkeypress.

textarea.onkeyup = function (e) {
        //textarea.value contains the full text
        //Update the view with this value
};

Проблема в том, что иногда текстовая область.значение не обновляется.Я даже вижу кнопку в e.keyCode на событии keyup выше, но значение не изменяется.Кажется, это происходит после того, как я щелкнул где-то на странице, но это не вызывает событие размытия.Я регистрирую события onfocus- и onblur, чтобы видеть, когда текстовая область теряет фокус, но это не так.И я все еще получаю события keyup / press / down.

Если я пытаюсь перефокусировать текстовое поле с помощью textarea.focus (), проблема остается.Обходной путь, который я нашел, заключается в том, чтобы сфокусировать окно с помощью window.focus () и сразу после вызова textarea.focus ().Проблема в том, что фокус - это действительно дорогая операция в IE (без шуток), и, поскольку я не могу определить, когда эта проблема возникнет, мне приходится продолжать делать это с определенным интервалом, который серьезно влияет на производительность моего приложения (включает анимацию и т. Д.)..

Я использую точно такой же код для других браузеров, и у меня нет этой проблемы там.

1 Ответ

0 голосов
/ 22 сентября 2010

Измените идентификатор на что-то менее общее, например "textAreaAdv", IE иногда путается с этим словом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...