|
|
|
| Код:
// Проверка кода нажатой клавиши и вызывает соответствующую функцию
function KeyEventStub(e) {
if (sPlayed==0) return 1;
if ((e.keyCode<=37) && (e.keyCode>=40)) {
return 1;
}
if (e.keyCode==37) {
DoFigure(1);
DrawFigure();
}
if (e.keyCode==38) {
DoFigure(3);
DrawFigure();
}
if (e.keyCode==39) {
DoFigure(2);
DrawFigure();
}
if (e.keyCode==40) {
DoFigure(4);
DrawFigure();
}
return 0;
}
// Установим обработчик нажатий клавиш
window.captureEvents(Event.KEYPRESS);
window.onkeydown = KeyEventStub;
|
Работет в Firefox и Oper'е, но не работает в IE, подскажите что делать.
Кстати, что делает строка "window.captureEvents(Event.KEYPRESS);" (это я из какой-то статьи скопировал)? | |
|
|
|
|
|
|
|
для: Wyfinger
(28.08.2007 в 02:45)
| | внутри функции первой строкой
e = e || window.event;
функция устанавливает отлов событий | |
|
|
|
|
|
|
|
для: bronenos
(28.08.2007 в 09:02)
| | внутри функции первой строкой
e = e || window.event;
Попробовал - не срабатывает. Internet Explorer 7 версии. | |
|
|
|
|
|
|
|
для: Wyfinger
(28.08.2007 в 13:19)
| |
if ((e.keyCode<=37) && (e.keyCode>=40)) {
|
это как??? | |
|
|
|
|
|
|
|
для: bronenos
(28.08.2007 в 15:26)
| | О.. извиняюсь, это конечно неверно. Просто в реальном коде у меня немного-другая функция, а это я ошибся при составлении вопроса.
Эту строку вообще можно не принимать во внимание. Нужно просто ловить нашатия клавиш. | |
|
|
|
|
|
|
|
для: Wyfinger
(29.08.2007 в 02:15)
| | больше проблем не вижу но посоветовал бы использоват switch | |
|
|
|
|
|
|
|
для: bronenos
(29.08.2007 в 08:08)
| | Похоже сам обработчик не устанавливается.
Весь скрипт, о котором идет речь, можно посмотреть здесь: http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=42640&page=1. | |
|
|
|
|
|
|
|
для: Wyfinger
(29.08.2007 в 09:30)
| | устанавливаете press
обрабатываете down | |
|
|
|
|
|
|
|
для: bronenos
(29.08.2007 в 09:37)
| | Без разницы, проверил по разному.
Может это из-за седьмого IE, кто-нибудь проверял на шестом? | |
|
|
|
|
|
|
|
для: Wyfinger
(29.08.2007 в 14:01)
| | | |
|
|
|