![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Guest
Сообщений: n/a
|
Нужно, чтобы по нажатию на клавиши "вверх" (UP) и "вниз" (DOWN) выполнялись определенные действия (и только они).
Пишу: tf.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); //....................................................................................... private function keyDownHandler(event:KeyboardEvent):void { if(event.keyCode==Keyboard.UP){ //code1 } else if(event.keyCode==Keyboard.DOWN){ //code2 } } |
|
|||||
|
event.preventDefault(), event.stopImmediatePropaganation()
__________________
Дело не в тебе |
|
|||||
|
Guest
Сообщений: n/a
|
|
|
|||||
|
Тогда нельзя
__________________
Дело не в тебе |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Цитата:
Лучше уж тогда отнаследоваться от TextField и на KEY_DOWN повесить обработчик, в котором будут выполняться необходимые действия. Чтобы отменить переход курсора, можно попробовать сразу же по приходу события изменять позицию курсора в поле на ту, что была до вызова обработчика. Но не уверен, что сработает. |
|
|||||
|
Guest
Сообщений: n/a
|
Цитата:
![]() private function keyDownHandler(event:KeyboardEvent):void { if(event.keyCode==Keyboard.UP){ //code1 interval = setInterval(setCaret,100); }else if(event.keyCode==Keyboard.DOWN){ //code2 interval = setInterval(setCaret,100); } } private function setCaret(){ if (tf.caretIndex == 0 || tf.caretIndex == tf.text.length){ tf.setSelection(eI,eI); clearInterval(interval); } } |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Цитата:
Чтобы обработчик сработал после встроенного, можно поробовать зарегистрировать его с отрицательным приоритетом. Но всё равно не факт, что стандартная реакция (переход курсора в начало/в конец) произойдёт после этого. Если не сработает, лучше делать не по таймеру, а в следующем кадре. То есть в обработчике KEY_DOWN вешаем обработчик на ENTER_FRAME, он сработает в следующем кадре. В этом обработчике выполняем setCaret(), и удаляем обработчик. Как в схеме отложенной перерисовки, в общем. |
|
|||||
|
Guest
Сообщений: n/a
|
спасибо)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|