Как вручную установить фокус в AS3, чтобы колесо мыши работало? - PullRequest
0 голосов
/ 13 октября 2009

(это вопрос к Flash 9/10 AS3.)

Я пытаюсь решить проблему, когда пользователь должен щелкнуть область, прежде чем он начнет получать события колеса мыши.

Я предполагаю, что фокус установлен в другом месте, поэтому в ctor для моего мувиклипа, который запрашивает события, я говорю "stage.focus = this". Это должно сработать, судя по поискам в сети, которые я делал. Но это не так. Мне все еще нужно нажать на клип, прежде чем он начнет слышать события с колесом мыши.

Что я могу здесь делать не так? Это базовый компонент AS3 в Flash IDE, выполняемый через IDE в качестве теста (пока не размещенный на веб-странице), без Flex и без компонентов.

События в колесе проходят отлично и работают отлично, но я хочу избежать первоначального щелчка.

Ответы [ 2 ]

2 голосов
/ 13 октября 2009

stage.focus для фокусировки клавиатуры . Установите tabEnabled = true; для соответствующего спрайта, а затем нажмите вкладку, чтобы сфокусировать экранный объект. Возможно, вы захотите установить stageFocusRect = false;, чтобы избежать появления желтого прямоугольника вокруг сфокусированного экранного объекта.

0 голосов
/ 13 октября 2009

Вы уверены, что браузер имеет фокус, а фильм имеет фокус? в некоторых случаях нам приходилось использовать простой JavaScript, чтобы установить фокус на мувиклип. Например, если ваша Flash имеет идентификатор 'flashVideo', простая document.getElementById('flashVideo').focus() может сделать эту работу. Вы можете лучше выполнять свою работу, используя инфраструктуру javascript, чтобы обеспечить выполнение кода, когда DOM будет готов. Например, в jQuery вы можете использовать что-то вроде этого:

jQuery(document).ready(function(){
    jQuery('#flashVideo').focus();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...