如何在actionscript / flex3中手动触发click事件?

时间:2010-11-17 02:22:49

标签: actionscript-3 flex actionscript flex3

与javascript中的以下内容类似:

<input id="target" type="button" onclick="..." />

<script>
document.getElementById('target').click();
</script>

3 个答案:

答案 0 :(得分:1)

您可以使用dispatchEvent函数: http://livedocs.adobe.com/flex/3/html/help.html?content=events_07.html

您应该在触发

之前创建click事件事件的新实例

答案 1 :(得分:0)

package 
{
    import flash.display.DisplayObject;
    import flash.events.MouseEvent;

    public class ClickEventExample
    {
        public static function dispatchClickEventFrom(something:DisplayObject):void
        {
            something.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
        }
    }
}

答案 2 :(得分:0)

这有什么意义?我建议在这种情况下使用自定义事件,这样您就不会因为MouseEvent.CLICK完全不代表点击而感到困惑。

如果像ivo建议的那样,当用户第一次翻阅你的剪辑时你想要发起一个事件,那么这应该让你开始:

myClip.addEventListener( MouseEvent.ROLL_OVER, handleFirstMouseOver );

function handleFirstMouseOver( e:MouseEvent ) : void
{
    dispatchEvent( new Event('mySpecialEvent', true ) );
    myClip.removeEventListener( MouseEvent.ROLL_OVER, handleMouseOver );
}

如果(并且我不假设你是:))你试图伪造点击以绕过弹出窗口阻止程序或进入全屏模式或其他东西,然后重新思考,因为玩家会认识到这样的事件不是由用户输入产生。