Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   События TextInput? Вставка текста. (http://www.flasher.ru/forum/showthread.php?t=136392)

Lexa_ 16.02.2010 15:02

События TextInput? Вставка текста.
 
Может кто подскажет, какие события генерируются в TextInput при вставке текста? Нужно вводить текст с виртуальной клавиатуры так, чтобы отрабатывали все рестрикшены. Можно конечно при нажатии на кнопку генерировать KeyboardEvent с кодом кнопки, но путь гемморойный и пользоваться им не очень хочется. Дело в том, что при вставке текста из буфера идет корректная обработка. Но поймать это событие чёт не получается. Вижу event ctrl-v и потом сразу идет TEXT_INPUT со всем текстом. Подскажите, что происходит между этими двумя событиями :)

BeDLiNt 16.02.2010 15:10

Цитата:

Можно конечно при нажатии на кнопку генерировать KeyboardEvent с кодом кнопки
Это как интересно Вы это делаете?
Цитата:

Но поймать это событие чёт не получается.
И для связи с буфером требуется наличие пользовательского события.

Kuruki 16.02.2010 15:19

Не понял вас, restrict не помогает?

BeDLiNt 16.02.2010 15:28

Кстати, да. restrict срабатывает при вставки из буфера.

Lexa_ 16.02.2010 16:18

Цитата:

Это как интересно Вы это делаете?
:)
Код AS3:

inputControl.dispatchEvent(new KeyboardEvent(bla-bla-bla from docs));

Код AS3:

И для связи с буфером требуется наличие пользовательского события.

Я уже пошагово вставку раз сто прошел, но поймать, как буфер передает данные в TextInput не могу.

Цитата:

Не понял вас, restrict не помогает?
Сейчас я делаю так:
Код AS3:

this.inputControl.text += text;

При таком подходе не срабатывают.

BeDLiNt 16.02.2010 16:27

Цитата:

Сообщение от Lexa_ (Сообщение 886967)
Код AS3:

inputControl.dispatchEvent(new KeyboardEvent(bla-bla-bla from docs));


А теперь попробуйте это в своей программе. Или специально для Вас Adobe отменили политику безопасности?
Цитата:

Сообщение от Lexa_ (Сообщение 886967)
Сейчас я делаю так:
Код AS3:

this.inputControl.text += text;

При таком подходе не срабатывают.

Ну так конечно не сработает. Сделайте свой restrict для text. Это же пара строк.

Lexa_ 17.02.2010 14:06

Цитата:

Ну так конечно не сработает. Сделайте свой restrict для text. Это же пара строк.
Своей функцией проверять на лету значение TextEvent.text?

BeDLiNt 17.02.2010 15:47

Ну вы же сами написали, что добавляете текст следующим образом:
Код AS3:

this.inputControl.text += text;

У Вас при таком способе никакого TextEvent-а не возникнет.
Ну и проверяйте на валидность text допустим регуляркой или как хотите.

Lexa_ 17.02.2010 19:59

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


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

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