2011-09-23 9 views
5

¿Hay alguna manera de simular un evento de clic en AS3? Estoy intentando esto:Simular evento de clic en AS3

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false)); 

Pero haga clic en evento no es desencadenarlo.

+0

¿A qué elemento intentas simular el clic? – stormbreaker

Respuesta

20

Si está escuchando para MouseEvent.CLICK luego se envían MouseEvent.CLICK. Ahora está despachando MouseEvent.MOUSE_DOWN

element.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
+0

Tengo curiosidad, ¿es el controlador de envío de Flash EVITANDO el lanzamiento del evento MOUSE_DOWN? – eLouai

+0

@eLouai si está escuchando un evento 'MOUSE_DOWN', Flash no manejará los eventos' CLICK', y viceversa. El evento 'MOUSE_DOWN' se dispara cuando hace clic con el mouse,' MOUSE_UP' cuando suelta el mouse. El evento 'CLICK' es equivalente a' MOUSE_DOWN' seguido de 'MOUSE_UP'. Sin embargo, el envío de 'MOUSE_DOWN' y' MOUSE_UP' por separado no desencadenará un evento 'CLICK' –

+0

Según los documentos de Adobe lo dicen claramente ..." Para que ocurra un evento de clic, siempre debe seguir esta serie de eventos en el orden de aparición: evento mouseDown, luego mouseUp. El objeto de destino debe ser idéntico para ambos eventos, de lo contrario, el evento click no se produce. Cualquier cantidad de otros eventos de mouse puede ocurrir en cualquier momento entre los eventos MouseDown o mouseUp; el evento click todavía ocurre ". pero desafortunadamente parezco incapaz de afectarlo, entonces o el sistema está escuchando en OTRA secuencia de eventos a la que reacciona, o hay un error. – eLouai

3

Debe enviar un evento MouseEvent.CLICK.

element.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true, false)); 
0

Para simular un evento de clic que necesita en primer lugar a la expedición:

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, true, false)); 

seguido de un:

element.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP, true, false)); 

En el caso MOUSE_UP el controlador emitirá entonces un evento de clic (si el mouse está SOBRE el elemento, por lo que es posible que deba establecer las variables mouse_x y mouse_y en el evento enviado.

Cuestiones relacionadas