[Adobe Flex] Definindo o foco na aplicação

quarta-feira, 17/02/2010 4:40 pm  

Para facilitar a vida do usuário, quando a aplicação for carregada no HTML, definir o foco no SWF com isto o usuário pode já começara a utilizar a aplicação sem ter a necessidade de clicar na página…

Conversando com o @mpbonatti [site], ele me comentou que estava com esta dificuldade e como eu também precisava usar este mesmo recurso, resolvi correr atras, inicialmente havia consegui fazer funcionar apenas no Firefox e no Internet Explorer, depois com uma dica do @ericmaicon [site] funcionou nos 3 Web Browsers que realizei o teste, segue…


Como fazer isto?

Utilizar a funcionalidade do ExternalInterface e criar uma function na aplicação Flex, a qual será chamada no evento creationComplete conforme o respectivo exemplo abaixo:

?View Code ACTIONSCRIPT
1
2
3
4
5
private function setFocusHtml():void {
	ExternalInterface.call(
		"s = function() { window.document.getElementById('"+this.id+"').focus(); }"
	);
}

Segundo os testes realizados no Firefox, Internet Explorer e Google Chrome esta solução funcionou…


e para você também funcionou? Comente…


atualizado 05/01/2011

O Vinícius Hoffmann Fontoura enviou o link onde tem um outro exemplo para setar focus no swf:

http://www.flexjunk.com/2010/12/30/managing-initial-swf-focus-in-all-browsers/


, , , , , , , , ,

Este post foi escrito por:

- que escreveu 500 post(s).


Entre em contato