PDA

Просмотр полной версии : Не убирается фокус с TextField (type="input")


zurmansor
28.08.2007, 12:09
Если в проэкт добавлен какой-нибудь стандартный компонент, например Alert, то с TextField(type="input"), перестаёт убираться фокус. То есть если клацнуть мышкой за пределами поля, то курсор всё равно остаётся в текстовом поле. Если компонентов не добавлять, то всё нормально.
Как с этим бороться?
Пробовал в onKillFocus прописать:
1)Selection.setFocus(null) - перестают нажиматься кнопки в проэкте.
2)Selection.setFocus(другое тестовое поле типа "dynamic") - тоже перестают нажиматься кнопки в проэкте.
3)Selection.setFocus(какой-то клип или кнопка) - никакого эффекта.
Просто очень уж не хочется рисовать Alert самому.
Вот прикреплённый файл с этим глюком:

etc
28.08.2007, 12:46
Используйте FocusManager.

zurmansor
28.08.2007, 13:26
Сделал:

tf.onKillFocus=function(newFocus:Object){
_root.focusManager.setFocus(null);
}

где tf - текстовое поле.
Вот, что вывело:
"256 levels of recursion were exceeded in one action list.
This is probably an infinite loop.
Further execution of actions has been disabled in this movie."
Или я как-то неправильно использую FocusManager?
Если можно - приведите пример кода.

etc
28.08.2007, 13:31
var tf:TextField=_root.createTextField("tf",_root.getNextHighestDepth(),0,0,50,50);
tf.border=true;
tf.type="input";
focusManager.enabled = false;

zurmansor
28.08.2007, 13:33
заработало