![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2006
Адрес: Нижний Тагил
Сообщений: 48
|
У меня следующая проблема.
Flash реагирует не на все нажатия клавиш. При нажатии на клавиши ESC, TAB, BACKSPACE, ENTER не вызывается даже событие onKeyDown. Клавиша DELETE при использовании её в таком коде: listner = new Object();
listner.onKeyDown = function()
{
if (Key.isDown(Key.DELETEKEY))
{
// Действия
}
}
Key.addListener(listner);
В режиме просмотра и в SWF не работает. Попробовал так: listner = new Object();
listner.onKeyDown = function()
{
if (Key.getCode() == Key.DELETEKEY)
{
// Действия
}
}
Key.addListener(listner);
Более того опытным путём обнаружил, что код 255 имеют все дополнительные клавиши (типа "Калькулятор", ...), т.е. нестандартные, которые Flash не знает. Почему же у DELETE такой же код? По документации к Flash клавиша DELETE имеет код 46 Вообщем, я уже вообще запутался! Нужна помощь! Помогите! |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
В режиме просмотра, часть клавиш используется флешом для управления, поэтому чтобы отлавливать все клавиши, надо выбрать Control > Disable Keyboard Shortcuts. В swf поможет
А проблем с delete я у себя не нашел. |
|
|||||
|
Регистрация: Aug 2006
Адрес: Нижний Тагил
Сообщений: 48
|
Я пробовал
не получалось! Нашёл причину - корявый Flash. Установил себе нормальный Flash - заработало Осталась небольшая проблемка. При тестировании такой программки: list = new Object();
list.onKeyDown = function()
{
trace("keyCode: "+Key.getCode()+"\t\t keyAscii: "+Key.getAscii());
};
Key.addListener(list);
fscommand("trapallkeys", "true");
то есть событие вызывается 2 раза: одно как для клавиши, которую он не знает, а второе нормальное DELETE-овское. Конечно проблема не сильно страшная, но неприятно. Можно ли избежать подобного эффекта? |
|
|||||
|
Регистрация: Aug 2006
Адрес: Нижний Тагил
Сообщений: 48
|
Цитата:
Нашёл сейчас странную особенность: NumLock-овский Delete всегда работает нормально (и в режиме точки и в режиме Del). А вот обычный Delete при включенном NumLock работает как я описывал выше, а при выключенном - нормально (keyCode: 255 keyAscii: 0 не выводится). Но по-моему никакой связи между DELETE и NumLock не существует или я ошибаюсь? Последний раз редактировалось KoLar; 24.04.2007 в 21:28. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|