Max
Max

Reputation: 8045

detect when the client focus leave the window

i saw some online flash games can do this:

when you switch your current web to other windows or other web tabs, the application program will draw a black block and tell you've leave the application, click on the flash area to resume .

i've tried some event like focus in and out or mouse leave on the stage,but the reaction isn't what i expected.maybe i use them in the wrong way .please tell me if you got the solution.

var count:int = 0;

this.stage.addEventListener(Event.MOUSE_LEAVE,function(e:Event):void
{
    //only be called if your mouse cursor leave the area,but can't detect whether you're actually switch to other program.
    trace('mouseleave',count++);
});

this.stage.addEventListener(FocusEvent.FOCUS_OUT,function(e:Event):void
{
    //no reaction
    trace('focus out',count++);
});

this.stage.addEventListener(MouseEvent.ROLL_OVER,function(e:Event):void
{
    //no reaction
    trace('mouseenter',count++);
});

Upvotes: 0

Views: 1227

Answers (1)

Emin A. Alekperov
Emin A. Alekperov

Reputation: 1067

There are two methods:

  • Use Event.ACTIVATE event. But a swf should be on focus before.
  • Use JavaScript call from ActionScript to check is a window or a tab on focus.

Upvotes: 1

Related Questions