Flash Lite 2.x and 3.0 ActionScript Language Reference

onData (MovieClip.onData handler)

onData = function() {}

Invoked when a movie clip receives data from a MovieClip.loadVariables() or MovieClip.loadMovie() call. You must define a function that executes when the event handler is invoked. You can define the function on the Timeline or in a class file that extends the MovieClip class or is linked to a symbol in the library.

This handler can be used only with movie clips for which you have a symbol in the library that is associated with a class. If you want an event handler to be invoked when a specific movie clip receives data, you must use onClipEvent() instead of this handler. The latter handler is invoked when any movie clip receives data.

Example

The following example illustrates the correct use of MovieClip.onData() and onClipEvent(data).

The symbol_mc is a movie clip symbol in the library. It is linked to the MovieClip class. The first function below is triggered for each instance of symbol_mc when it receives data.

The dynamic_mc is a movie clip that is being loaded with MovieClip.loadMovie(). The code using dynamic_mc below attempts to call a function when the movie clip is loaded, but it doesn't work. The loaded SWF file must be a symbol in the library associated with the MovieClip class.

The last function uses onClipEvent(data). The onClipEvent() event handler is invoked for any movie clip that receives data, whether the movie clip is in the library or not. Therefore, the last function in this example is invoked when symbol_mc is instantiated and also when replacement.swf is loaded.

// The following function is triggered for each instance of symbol_mc
// when it receives data.
symbol_mc.onData = function() {
    trace("The movie clip has received data");
}

// This code attempts to call a function when the clip is loaded, 
// but it will not work, because the loaded SWF is not a symbol
// in the library associated with the MovieClip class.
function output()
{
    trace("Will never be called.");
}
dynamic_mc.onData = output;
dynamic_mc.loadMovie("replacement.swf");
// The following function is invoked for any movie clip that
// receives data, whether it is in the library or not.
onClipEvent( data ) {
    trace("The movie clip has received data");
}

See also

onClipEvent handler