Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   HTMLLoader: отмена скролла страницы через клавиши и не срабатывающее событие keyDown (http://www.flasher.ru/forum/showthread.php?t=209231)

timm 22.10.2014 13:59

HTMLLoader: отмена скролла страницы через клавиши и не срабатывающее событие keyDown
 
Мне надо, чтобы в добавленном на сцене HTMLLoader нельзя было прокручивать страницу посредством клавиш-стрелок — это стандартное поведение в браузерах, и во встроенном в AIR WebKit тоже не исключение. Однако в моём приложении эти клавиши-стрелки отвечают за другую функцию.

В среде AIR я подписался на событие keyDown у stage.
Код AS3:

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardHandle);

В JS-скрипте для HTMLLoader`а я тоже подписался на событие keyDown для объекта window, чтобы отменить стандартное поведение (скролл) для клавиш-стрелок.
JS-код:
Код:

$(function() {
        window.onkeydown = function(e) {
            switch(e.keyCode){
                case 37: // Клавиши
                case 39: // Стрелки
                case 38: // ...
                case 40: // ...
                                e.preventDefault();
                        break;
               
                default: break;
            }
        };
});

Теперь если кликнуть на сцене по объекту HTMLLoader (наверное он получает какой-то фокус), глобальное событие keyDown для stage перестаёт срабатывать. В JS-то событие отменяется, но среды AIR это же не должно касаться, я же ведь подписался на stage. В чём может быть причина?

Версия AIR — 3.7.

MikroAcse 22.10.2014 19:51

На вопрос ответить не могу, но:
Цитата:

Версия AIR — 3.7.
Откуда у вас это старье?
Давно уже есть AIR 15.0!

timm 22.10.2014 20:20

Я в курсе, спасибо :) AIR у меня не основное средство для разработки, а я слышал, что там в новых версиях баги какие-то. Я за стабильность. Кстати, не такое уж и старьё — они же там с версии 4 на 13 сразу прыгнули.

MikroAcse 23.10.2014 16:26

Старьё. Известные баги исправлены.
Вы сами-то проверяли свою информацию?

timm 28.10.2014 00:46

А ну-ка скажите мне, в 15 встроенный webkit всё также не умеет сглаживать шрифты?

Добавлено через 1 минуту
Кстати, проблема решена: достаточно ловить событие из кода as3, а не из js, и вручную генерировать после e.preventDefault(), чтобы оно плыло дальше.

P. S. Никто даже не ответил, где все флешеры-то? :)


Часовой пояс GMT +4, время: 05:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.