Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   testField.setFocuse() не работает :( (http://www.flasher.ru/forum/showthread.php?t=120631)

Foli 26.01.2009 19:54

testField.setFocuse() не работает :(
 
Всем привет. Прошу помогите решить след. проблему.
Есть окошко для ввода Logina and Password
Как только запускаю проект в броузере нужно ставить курсор в поле Login
Вешаю событие на creationComplit и там пишу:
Код AS3:

tf_Login.setFocus();

Но, увы, ничего не изменилось.
Может надо активировать флешь? Или само окно?

zlatko 26.01.2009 23:14

Браузер Firefox, в целях безопасности, не позволит Вам етого сделать. А вот под ИЕ должно работать, по-моему даже без дополнительной активации флешки из джаваскрипта. На счёт остальных браузеров не в курсе.

Foli 27.01.2009 00:24

Цитата:

Сообщение от zlatko (Сообщение 793700)
под ИЕ должно работать, по-моему даже без дополнительной активации флешки из джаваскрипта.

Под IE не работает.
Это значит что надо ещё активировать с помощью джаваскрипта флешку?
А пример можно? :umnik2:

zlatko 27.01.2009 01:16

Можно и пример. Я надеюсь Вы пользуетесь Flex Builder-oм. В файле index.template.html добавьте атрибут для тега body:

Код:

onload="setFocusToApp()"
В файле AC_OETags.js добавьте:

Код:

function setFocusToApp()
{
  // testFocus - имя приложения(главного MXML файла)
  document.getElementById("testFocus").focus();
}

п.с. но tf_Login.setFocus(); никуда не убирать!

Foli 27.01.2009 20:03

Cпасибо земляк.
Если не будет работать, отпишу. ;)

Bruiser 27.01.2009 22:17

Если честно, что-то не получилось.
Если вместо
Код:

function setFocusToApp()
{
  // testFocus - имя приложения(главного MXML файла)
  document.getElementById("testFocus").focus();
}

сделать
Код:

function setFocusToApp()
{
  alert("hello");
  document.getElementById("testFocus").focus();
}

то все работает. В чем может быть прикол?

zlatko 28.01.2009 00:37

Ага, нужно добавить в creationComplete перед установкой фокуса вызов етой джаваскрипт функции:

Код AS3:

ExternalInterface.call('setFocusToApp');

И тогда атрибут onload с тега body можна удалить.

п.с. гм теперь и в FF 3 работает

Foli 28.01.2009 15:13

Спасибо, всё работает.
Полезный класс: ExternalInterface


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

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