AS3 - Вывод, какой объект имеет фокус клавиатуры? - PullRequest
2 голосов
/ 27 апреля 2009

У меня проблема с AS3 и фокусом клавиатуры, и мне интересно, есть ли переменная или функция, которую я могу использовать, чтобы вывести на экран имя объекта, который в настоящее время имеет фокус клавиатуры?

Ответы [ 2 ]

4 голосов
/ 27 апреля 2009

Вы делаете это через FocusManager. Затем вы можете просто вызвать функцию getFocus. Я собрал быстрый пример, который показывает текущий фокус каждую секунду, действительно бессмысленно, но показывает, как он работает:

import fl.managers.FocusManager;
var focus:FocusManager = new FocusManager(this);

function traceFocus():void
{
    trace(focus.getFocus())
}


setInterval(traceFocus,1000);

Просто поместите этот код в корень, а затем несколько полей ввода на сцене, и он должен работать. Также ознакомьтесь с документацией

1 голос
/ 20 февраля 2012

Это также работает:

if (stage.focus) { trace (stage.focus.name); }

Обратите внимание, что если вы используете компонент TextInput и ожидаете его имя, когда пользователь щелкает по нему, вы фактически получите имя экземпляра дочернего TextField объекта TextInput (у которого будет произвольное имя, например instance88 ), поэтому вы должны использовать stage.focus.parent.name , чтобы получить правильное имя экземпляра самого TextInput.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...