![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Мне нужно по нажатию ctrl + Enter выполнить определенное действие.
В хендлере нажатия клавиши пишу: При нажатии ctrl + Enter первый трейс дает 17, а второго просто нет... Как быть?) |
|
|||||
|
ну так может у вас второй раз эвент не ловится почему-то? Вы там removeEventListener не делаете случаем? Или может вы отсекаете trace() конструкцией if, и выполнение просто не попадает на ваш участок кода.
вставьте trace в начале функции и убедитесь, что вообще при втором нажатии эвент ловится. и приведите всю вашу функцию |
|
|||||
|
Вот полный метод:
private function onKeyDown(e:KeyboardEvent):void { trace("1"); if (_jasc.connected && (_inputMsg_ta.text != "")) { trace(e.keyCode); //if (e.ctrlKey && (e.keyCode == Keyboard.ENTER)) { if (e.keyCode == Keyboard.ENTER) { if (e.ctrlKey) { trace("3"); var obj:Object = { }; obj.name = myName; obj.type = "0"; obj.msg = _inputMsg_ta.text; _inputMsg_ta.text = ""; _jasc.sendServerMessage(obj); }} } } Добавлено позже... Вот более/менее рабочий код private function onKeyDown(e:KeyboardEvent):void { if (_jasc.connected && (_inputMsg_ta.text != "")) { _keys[e.keyCode]=true; if (_keys[17] && _keys[13]) { var obj:Object = { }; obj.name = myName; obj.type = "0"; obj.msg = _inputMsg_ta.text; _inputMsg_ta.text = ""; _jasc.sendServerMessage(obj); } } } private function onKeyUP(e:KeyboardEvent):void { _keys[e.keyCode]=false; } Последний раз редактировалось Aloran; 04.03.2010 в 21:18. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
public class KeyboardEvent extends Event { ... /// Indicates whether the Alt key is active (true) or inactive (false). public function get altKey () : Boolean; /// Indicates whether the Control key is active (true) or inactive (false). public function get ctrlKey () : Boolean; /// Indicates whether the Shift key modifier is active (true) or inactive (false). public function get shiftKey () : Boolean; ... }
__________________
Reality.getBounds(this); |
|
|||||
|
Не совсем понял что с этим делать.
Спасибо вопрос решен. Работает нормально первый вариант!! Главное флешку через браузер запускать))) Видно такое сочетание блокируется стационарным плеером. Последний раз редактировалось Aloran; 05.03.2010 в 01:12. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|