Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tuf®

[Resolvido] Simular evento no AS3

Recommended Posts

Boa noite pessoal.

 

Estou precisando de uma ajuda, tenho um botão no meu palco e adiciono um listener para ele, quando clico no botão, ele dispara um trace:

 

alvo_btn.addEventListener(MouseEvent.CLICK, clique);

function clique(evt:MouseEvent):void {
   trace('evento CLICK');
}

Até aqui tudo certo, mas gostaria de disparar o listener clique sem clicar no botão...tem como fazer isso? gostaria de simular um clique para ser mais exato.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser:

 


// só executa a função:
clique(null);

//simula como se o botão fosse clicado:
alvo_btn.dispatchEvent(new Event(MouseEvent.CLICK))


 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta Eder.

 

Somente o primeiro exemplo que você me passou funcionou, eu chamo a função clique e passo o parâmetro null e pronto.

O segundo, usando dispatchEvent não funcionou, ocorreu o seguinte erro:

 

TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@13c1b7c1 to flash.events.MouseEvent.

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at Untitled_fla::MainTimeline/frame1()

 

Gostaria de tentar usar o dispatchEvent, pq tenho mais que um botão, e gostaria de simular o clique de um específico...Tentei usar a função clique passando como parâmetro o botão que quero que dispare o evento mais tb não funcionou.

Por exemplo:

 

clique(alvo_btn);

Agradeço pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acabei não testando, mas pelo erro era só trocar de Event para MouseEvent:

 

 

//simula como se o botão fosse clicado:
alvo_btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK))

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.