Форум 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)
-   -   Создание input-поля по событию (http://www.flasher.ru/forum/showthread.php?t=183230)

nick_nickovich 15.08.2012 21:03

Создание input-поля по событию
 
В общем, создаю текстовое поле ввода. Пока функцию создания поля вызываю по ходу кода, поле делает все, что требуется. Но если эту же функцию вызвать по событию нажатия кнопки, поле создается, но перестает отвечать по событию onChanged.

Вот буквы:

Код AS1/AS2:

pole_func = function(){//создал поле ввода
_root.createTextField("pole", 1, 100, 100, 100, 20);
pole.border = true;
pole.type = "input";
pole.text = "";
}
 
this.but.onRelease = function(){//нажатие кнопки
pole_func();
trace(pole);//поле создается...
}
 
pole.onChanged = function(){//событие изменения содержимого
n = pole.text;
trace(n);//...но не возвращает ввод
}
//такая досада...

То есть не отвечает только поле, созданное по нажатию кнопки, а созданное при открытии кадра работает прекрасно.

И вот как сделать так, чтоб по нажатию кнопки создавалось работающее поле ввода?
Мож, со слушателем поиграться или еще чего посоветуете?
Спасибо!

udaaff 16.08.2012 00:02

Ну так поле у вас еще не создано, когда вы обработчик onChanged добавляете.

mooncar 16.08.2012 09:15

Код AS1/AS2:

but.onRelease = createField;
 
function createField()
{
        _root.createTextField("pole", 1, 100, 100, 100, 20);
        pole.border = true ;
        pole.type = "input";
        pole.text = "";
        pole.onChanged = fieldChanged;
}
 
function fieldChanged()
{
        n = this.text ;
        trace(n);
}


nick_nickovich 16.08.2012 18:33

Ух ты, блин))) Спасибо!!!


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

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