Flex Textfield не получает фокус, когда курсор находится в текстовом поле iframe - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть веб-страница с вложенным SWF-файлом. У меня проблема с фокусом.

Шаги для воспроизведения: 1) Нажмите на текстовое поле HTML, которое находится внутри Iframe 2) Нажмите на поле Flex. 3) Начните набирать текст.

Ожидаемый результат - введенный текст должен идти в поле Flex TextInput, но фактический результат - в текстовое поле HTML.

Это ошибка, которая была подана, но закрыта без разрешения. Предложенный обходной путь не работает. (bugs.adobe.com/jira/browse/SDK-12377)

Это происходит только в IE 6.0 и IE 7.0. Ниже приведен живой пример. http://drumbeatinsight.com/examples/htmlcomponent/iframe/HTMLFrameInApplication.html

Запрашиваются любые предложения или обходные пути для решения этой проблемы.

1 Ответ

0 голосов
/ 13 сентября 2010

Ваш браузер поддерживает фокус, а не возвращает его флеш-плееру. Я столкнулся с этой проблемой, когда пытался «внедрить» html-контент в мое flex-приложение ... это достигается с помощью плавающего html-фрейма над флеш-плеером.

Мне нужно скрыть и восстановить iframe, если я хочу взаимодействовать с flex, потому что iframe должен быть поверх флеш-плеера, но все это легко. Я обнаружил бы, что даже если бы я спрятал фрейм, флеш-плеер никогда не возвращал фокус клавиатуры. Вы должны указать браузеру вернуть фокус клавиатуры на флэш-плеер.

Теперь нет действительно хорошего способа определить, нужно ли вам дать указание браузеру вернуть фокус клавиатуры. Я заканчиваю тем, что выполняю этот javascript при каждом нажатии мыши, довольно неэффективно, но это был единственный способ гарантировать, когда мой пользователь нажал на содержимое флеш-плеера, чтобы браузер вернул фокус клавиатуры.

Выполнить метод javascript, который ищет внедренный контент по имени и вызову focus ().

В основном - document.getElementById ('flexEmbedID'). Focus ();

Используйте внешний интерфейс для вызова этого на stage.mouseDown (). Много накладных расходов, так как он выполняется много, но это решит вашу проблему.

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