2013-05-15 2 views
1

Это мой AS3 код для текстового поля с именем экземпляра myTextBox помещенного на сцене -:Отправка Paste Event в AS3

import flash.display.*; 
import flash.events.*; 

myTextBox.text = 'Hello India'; 
myTextBox.addEventListener(Event.PASTE, onPaste) 

function onPaste(e:Event):void 
{ 
    trace("lol"); 
} 

Но когда я вставить текст в текстовом поле, ничего не происходит. Не могу понять проблему. Спасибо за помощь ...

+0

может быть _TextEvent.TEXT_INPUT_ поможет вам, потому что, как упоминалось, Allan _TextField_ не отправляет событие _Event.PASTE_. – fsbmain

ответ

1

Согласно документации http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/Event.html#PASTE:

Примечание: Объекты TextField не отправляются четкие, копировать, вырезать, вставить, или SelectAll события. Объекты TextField всегда включают команды Cut, Copy, Paste, Clear и Select All в контекстном меню. Вы не можете удалить этих команд из контекстного меню для объектов TextField. Для Объекты TextField, выбирая эти команды (или их клавиатуру эквивалентов), не генерируют ясные, скопированные, вырезанные, вставки или selectAll событий. Тем не менее, другие классы, которые расширяют класс InteractiveObject , включая компоненты, созданные с использованием Flash Text Engine (FTE), , отправят эти события в ответ на действия пользователя, такие как сочетания клавиш и контекстные меню.

Таким образом, самым простым вариантом является использование TLF TextField. (Обязательно опубликуйте для Flash Player 10)

+0

Что такое текстовое поле TLF – sanchitkhanna26

+0

Текстовое поле TLF - это многофункциональное текстовое поле. Он был введен с помощью Flash Player 10. Если вы создаете текстовое поле с помощью Flash IDE, то на панели свойств вашего текстового поля измените его с классического текста на текст TLF. В противном случае см. Эту ссылку о том, как ее вручную закодировать http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/text/TLFTextField.html – Allan

Смежные вопросы