HTML and CSS Reference
In-Depth Information
The event name is the name of the event to be handled. The event name will be as you've
seen in the previous examples except without the on prefix. For example, the name of the
onload event is just load . The event function is the one that should run when the event occurs,
the listener. The optional cascade rule provides some flexibility in how the events move through
nested DOM elements. This is examined in more detail later in the discussion on event bub-
bling.
The removeEventListener takes exactly the same parameters. What this implies is that more
than one event listener can be added for the same event and then removed. Thinking in the
context of a complicated program such as a game, you might need to turn on and off specific
event handlers for the same event. Consider the following example:
<script>
window.addEventListener("load", onloadHandler, false);
window.addEventListener("load", onloadHandler2, false);
window.addEventListener("load", onloadHandler3, false);
function onloadHandler() {
alert("hello event 1.");
}
function onloadHandler2() {
alert("hello event 2.");
}
function onloadHandler3() {
alert("hello event 3.");
}
</script>
Each event fires in the order in which it was added when the window is finished loading. To
remove the onloadHandler2 event, all that's needed is a call to the removeEventListener :
window.removeEventListener("load", onloadHandler2, false);
When handling DOM events, the custom events you create are not a replacement for the
built-in functionality provided by the DOM element. The handling of the event allows you to
do some custom logic or manipulation, but when event handling is complete, the processing
returns back to the JavaScript API, which processes its own implementation for the event. If
this isn't desirable, you can stop the event processing.
Using anonymous functions
In the examples so far, event handlers have been assigned via named functions. The advan-
tage to using named functions is that you can later remove event listeners as needed. You
can't identify anonymous functions after they are assigned as event listeners to manipulate
them. In the example in the preceding section, three event listeners were added to the same
event, and then one event was removed. This was possible only because the name of the
event listener function was known.
 
Search WWH ::




Custom Search