Events in Detail

This section gives an in depth look at the different events you can detect with xcmndAddEventListener. Click here to how to add an event listener.

Mouse Events

These events are related to specific mouse cursor interactions with slide objects.


When the mouse cursor occupies the same visible space as a slide object, a rollover event is registered.

Note: Technically-speaking there are no 'rollover' events on mobile devices such as tablets and phones. The mouse cursor on phones is invisible and cannot detect when the finger is 'hovering' over an object. All mouse events in CpExtra are therefore based on existing events in the HTML5 Standard. Most (if not all) mobile browsers do not even include the 'rollover' event as one of their features.  While it is true there are some phones out there are have the capability to detect when a finger is hovering just above the screen (see here) this is not yet a standard feature of all phones, and on many phones that have this feature it is disabled by default. Even if a phone has this feature, its browser application (through which Captivate must run its content) may not necessarily utilize it. Therefore, it is not yet possible for Captivate to harness this feature.  


This event is registered after the mouse cursor has rolled over a slide object and then later leaves the space occupied by that same slide object. 

Note: As mentioned above, rollover events are not registered on mobile devices, and this also applies to rollout events.


When the mouse cursor is over a slide object and the user presses down on the left mouse button, this registers a mousedown event. This event will fire before the user lifts up their mouse.

Note: On mobile devices, the mousedown event is equivalent to pressing an object on screen. If you're familiar with JavaScript, you may know that on mobile devices touching an object generally dispatches the touchstart event. CpExtra detects the current operating environment (desktop or mobile), and automatically uses the applicable event.


When the mouse cursor is over a slide object and the user lifts up their left mouse button, this registers a mouseup event. It is entirely possible for a user to mousedown on object A, hold down their mouse cursor, roll out of object A, rollover object B and lift up their mouse cursor. In that case, object A dispatches a mousedown event and object B dispatches the mouseup event. In this scenario, neither object dispatches a click event.

Note: On mobile devices, CpExtra will automatically use the browser's touchend event instead of the mouseup event.


When a mousedown and a mouseup event happen on the same slide object, that object will also dispatch a click event. This way you know that the audience purposefully pressed on this object, eliminating the possibility that they may have accidentally pressed an object because their finger slipped.


When two click events have been dispatched on the same object within a short amount of time, this is registered as a doubleclick event.

Sometimes you may have an interaction where you want to detect whether an object was clicked or double-clicked. This is in fact surprisingly difficult to detect, since by definition, if an object has been double-clicked it has certainly also been clicked. The xpefDoubleClickDelay preference variable makes it possible to distinguish between click and double-click events. Please see this page for more details about xpefDoubleClickDelay.


When the mouse cursor is ove a slide object and the user presses and releases the right mouse button, this registers a rightclick event.

Note: As computer mice are not used on mobile devices, there is no equivalent of a right-click event for touch devices.

Slide Object Events

These events are related to special things that may happen to a slide object during its lifetime.


When a slide object enters the timeline the enter event will fire.


When a slide object exits the timeline the exit event will fire.

Audio Events

These events are related to object-level audio files in Adobe Captivate.  This type of audio plays when the object is shown at runtime because it has entered the timeline.

Note: You currently cannot use these events to listen to audio clips that are played through actions or advanced actions. The audio must be attached to a slide object for the following event to be detected.


Once a slide object's audio clip has been played all the way to its end, the audioended event will fire.

Video Events

These events are related only to video slide objects, not ordinary slide objects, and allow you to detect the current status of a video that the audience is watching.


Once a video has been played all the way to its end, the videoended event will fire.

Note: If the audience uses the video's playbar to scrub the video all the way to the end, then the videoended event will still fire. So it is not possible to use this event as proof that the learner watched every second of a video, unless you also disable any other method they may have used to fast-forward or scrub the video to the end.  Even if you DO disable other navigation playback options, it still doesn't prove the learner actually watched and paid attention to the video.


Join more than 2500 other Adobe Captivate users just like yourself and receive regular troubleshooting tips, illustrated tutorials, technical information, and creative solutions to real-world e-learning development issues. (See an example here.) Click the button below to join our community.  It's completely FREE!