Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: onKeyDown в IE
 
 автор: Wyfinger   (28.08.2007 в 02:45)   письмо автору
 
 

Код:

// Проверка кода нажатой клавиши и вызывает соответствующую функцию
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);" (это я из какой-то статьи скопировал)?

   
 
 автор: bronenos   (28.08.2007 в 09:02)   письмо автору
 
   для: Wyfinger   (28.08.2007 в 02:45)
 

внутри функции первой строкой
e = e || window.event;
функция устанавливает отлов событий

   
 
 автор: Wyfinger   (28.08.2007 в 13:19)   письмо автору
 
   для: bronenos   (28.08.2007 в 09:02)
 

внутри функции первой строкой
e = e || window.event;


Попробовал - не срабатывает. Internet Explorer 7 версии.

   
 
 автор: bronenos   (28.08.2007 в 15:26)   письмо автору
 
   для: Wyfinger   (28.08.2007 в 13:19)
 

    if ((e.keyCode<=37) && (e.keyCode>=40)) {

это как???

   
 
 автор: Wyfinger   (29.08.2007 в 02:15)   письмо автору
 
   для: bronenos   (28.08.2007 в 15:26)
 

О.. извиняюсь, это конечно неверно. Просто в реальном коде у меня немного-другая функция, а это я ошибся при составлении вопроса.
Эту строку вообще можно не принимать во внимание. Нужно просто ловить нашатия клавиш.

   
 
 автор: bronenos   (29.08.2007 в 08:08)   письмо автору
 
   для: Wyfinger   (29.08.2007 в 02:15)
 

больше проблем не вижу но посоветовал бы использоват switch

   
 
 автор: Wyfinger   (29.08.2007 в 09:30)   письмо автору
 
   для: bronenos   (29.08.2007 в 08:08)
 

Похоже сам обработчик не устанавливается.

Весь скрипт, о котором идет речь, можно посмотреть здесь: http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=42640&page=1.

   
 
 автор: bronenos   (29.08.2007 в 09:37)   письмо автору
 
   для: Wyfinger   (29.08.2007 в 09:30)
 

устанавливаете press
обрабатываете down

   
 
 автор: Wyfinger   (29.08.2007 в 14:01)   письмо автору
 
   для: bronenos   (29.08.2007 в 09:37)
 

Без разницы, проверил по разному.

Может это из-за седьмого IE, кто-нибудь проверял на шестом?

   
 
 автор: bronenos   (29.08.2007 в 14:06)   письмо автору
 
   для: Wyfinger   (29.08.2007 в 14:01)
 

document.onkeydown

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования