Event Handler Invocation
Once you’ve registered an event handler, the web browser will
invoke it automatically when an event of the specified type occurs on
the specified object. This section describes event handler invocation
in detail, explaining event handler arguments, the invocation context
(the this
value), the invocation
scope, and the meaning of the return value of an event handler.
Unfortunately, some of these details are different for IE8 and before
than for other browsers.
In addition to describing how individual handlers are invoked, this section also explains how events propagate: how a single event can trigger the invocation of multiple handlers on the original event target and also on containing elements of the document.
Event Handler Argument
Event handlers are normally (there is one exception, described
below) invoked with an event object as their single argument. The
properties of the event object provide details about the event. The
type
property, for example,
specifies the type of the event that occurred. Types of Events mentioned a number of other event object
properties for various event types.
In IE8 and before, event handlers registered by setting a
property are not passed an event object when they are invoked.
Instead, the event object is available through the global variable
window.event
. For portability,
you can write event handlers like this, so that they use the
window.event
if no argument is
supplied:
function
handler
(
event
)
{
event
=
event
||
window
.
event ...
Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.