Skip to content


Foco na aplicação Flex

» Foco na aplicação Flex

Saudações amigos.

Hoje repasso uma dica que muitos desenvolvedores Flex procuram, porém como eu, encontraram uma modificação no index.template que não funcionou.
Para fazer com que o foco caia no componente desejado na aplicação flex logo que a página seja carregada é bem simples, não necessita de nenhuma alteração no html, apenas no Flex mesmo.

Adicione uma função para o  creationComplete da aplicação e insira o comando ExternalInterface.call() e logo abaixo o componente que deseja que receba o foco dentro da aplicação.

private function initApp():void{
    ExternalInterface.call(’window.document.nomeDaAplicação.focus()’); 
    textInput.setFocus(); 
}

O comando ExternalInterface.call é usado para chamar uma função javascript no html da aplicação.

Com ele você poderá chamar outras funções javascript, como por exemplo, pegar parâmetros de uma url. 

Abraços à todos! 

Compartilhe este post:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • FriendFeed
  • HelloTxt
  • Identi.ca
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • Rec6
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Yahoo! Bookmarks

Posted in Encontros. Tagged with , , , , .

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. julio carneiro said

    complementando a dica:
    - não funciona com Safari (Mac)
    - window.document.app.focus não funciona para alguns navegadores (não lembro quais), mas para maior compatibilidade com outros navegadores vc deve executar uma segunda chamada:
    ExternalInterface.call("document.getElementById('nomeDaAplicação').focus()");

  2. vlw Erko, de grande ajuda essa informação ;)

  3. rs… foi mal Jean Carlos, pensei que fosse o site do Erko, furo meu :)

  4. cleison said

    Cara, eu estou tentando fazer isso que voce ensinou mas nao funfa de jeito nenhum. eu dei o nome la no application name='aplicadorJava',
    e criei a funcao como voce mostrou, e ja alterado pela dica do colega janderson. mas nao funfa dejeito nenhum, ele so da o foco, mas o cursor nao pisca.
    private function onLoad():void {
    ExternalInterface.call("document.getElementById('aplicadorJava').focus()");
    nome.setFocus();
    }

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.