Форум 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)
-   -   При destroyObject TextArea вызывается event focusOut (http://www.flasher.ru/forum/showthread.php?t=89899)

Azy 26.12.2006 13:12

При destroyObject TextArea вызывается event focusOut
 
Мне по фокусауту нужно получить TextArea.text. При втором focusOut text==undefined. Как победить?
Код:

import mx.controls.TextArea;
var textArea:TextArea = _root.createClassObject(mx.controls.TextArea, "textArea", 500);
       
var listener:Object        = new Object();
listener.focusOut = function (eventObject:Object)
{
        trace(eventObject.type);
       

        eventObject.target._parent.destroyObject(eventObject.target._name);
};

textArea.addEventListener("focusOut", listener);


etc 26.12.2006 13:53

Гм, ты же удаляешь объект вроде…

Azy 26.12.2006 13:56

Угу, удаляю. Свою проблему я решил проверкой if (textArea.text!=undefined). Но это есть хак. А хак не есть гуд =) Интересно как все таки обрубить это.

etc 26.12.2006 14:05

Обрубить что? У тебя фокус с поля ушел. При удалении объекта что, опять вызывается focusOut? Тогда перед удалением объекта отпишись от его события focusOut, да и всё.

Azy 26.12.2006 14:08

дык удаление объекта происходит внутри события фокусаут. это разве не имеет значение?
Т.е. если перед строкой
Код:

eventObject.target._parent.destroyObject(eventObject.target._name);
убрать ивент - выполнится ли строка?

etc 26.12.2006 14:11

Конечно выполнится. Что значит убрать евент? Я имею ввиду не убийство метода focusOut, а нормальную отписку listener-а от события textArea.
Код:

eventObject.target.removeEventListener('focusOut',this);
Перед удалением объекта.


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

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