Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Странное поведение поля, получившего фокус программно. (http://www.flasher.ru/forum/showthread.php?t=124971)

mooncar 13.05.2009 18:05

Странное поведение поля, получившего фокус программно.
 
Программно устанавливаю фокус на текстовое поле ввода, в котором уже есть текст по умолчанию.
1. Если использую для установки этот самый свой код, то поле как будто фокус получает (об этом свидетельствует Selection.getFocus(), вызванный для проверки), текст подсвечен, но: подсветка не черным цветом как обычно, а серым, и отсутствует возможность редактировать, с клавиатуры ввод туда недоступен.
2. Если же устанавливаю туда фокус тоже программно, но просто отдельно с кнопки, с помощью Selection.setFocus(String(targetTextField)) спустя некоторое время после выполнения основного кода, то все нормально - подсветка черная, и символы с клавиатуры сразу вводятся.

Вопрос - что это и при каких обстоятельствах такое может быть? Ведь в первом случае проверка выясняет, что поле фокус получило.

nOobCrafter 13.05.2009 18:35

mooncar а когда у тебя поле появляется на сцене? сразу же, или после некоторых действий?

mooncar 13.05.2009 18:49

На сцене поле есть сразу.
Последовательность кода такая:
1. Поле ввода есть, но его _visible = false;
2. Задается tabIndex по полям.
3. Вызыв ф-ии редактирования при клике на поле вывода в другом месте.
Ф-я присваивает полю ввода текст и "проявляет его" , делая _visible = true;
4. На поле ввода устанавливается фокус.
Происходит то, что я описал. Если установить фокус из другого места спустя время, все ок.

nOobCrafter 13.05.2009 19:47

mooncar сталкивался именно с такой же проблемой, если поле добавить на сцену не сразу или папазжее назначить фокус то все ок, а если сразу то ничего..попробуй мот попозже его закинуть?..

mooncar 13.05.2009 19:55

Спасибо, код основной перепашу, кажется чувствую, где "засада".
Интересно было именно - что означает серая подсветка и отсутствие ввода при в общем-то полученном фокусе.


Часовой пояс GMT +4, время: 19:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.