Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.10.2014, 13:59
timm вне форума Посмотреть профиль Отправить личное сообщение для timm Найти все сообщения от timm
  № 1  
Ответить с цитированием
timm

Регистрация: May 2013
Сообщений: 15
По умолчанию 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.

Старый 22.10.2014, 19:51
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 2  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
На вопрос ответить не могу, но:
Цитата:
Версия AIR — 3.7.
Откуда у вас это старье?
Давно уже есть AIR 15.0!

Старый 22.10.2014, 20:20
timm вне форума Посмотреть профиль Отправить личное сообщение для timm Найти все сообщения от timm
  № 3  
Ответить с цитированием
timm

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

Старый 23.10.2014, 16:26
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Старьё. Известные баги исправлены.
Вы сами-то проверяли свою информацию?

Старый 28.10.2014, 00:46
timm вне форума Посмотреть профиль Отправить личное сообщение для timm Найти все сообщения от timm
  № 5  
Ответить с цитированием
timm

Регистрация: May 2013
Сообщений: 15
А ну-ка скажите мне, в 15 встроенный webkit всё также не умеет сглаживать шрифты?

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
event , htmlloader , keydown
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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