Event Handlers
Examples
An Event Handler executes a segment of a code based on
certain events occurring within the application, such as onLoad,
onClick. JavaScript Event Handlers can
be divided into two parts:
-
interactive Event Handlers and
-
non-interactive Event Handlers
An interactive Event Handler is the one that
depends on the user interactivity with the form or the document. For
example, onMouseOver is an interactive
Event Handler because it depends on the users action with the mouse. On
the other hand non-interactive Event Handler would be onLoad,
because this Event Handler would automatically execute JavaScript code
without the user's interactivity. Here are all the Event Handlers
available in JavaScript:
EVENT
HANDLER |
USED
WITH |
onAbort |
image |
onBlur |
select, text, text area |
onChange |
select, text, textarea |
onClick |
button, checkbox, radio, link, reset, submit, area |
onError |
image |
onFocus |
select, text, textarea |
onLoad |
windows, image |
onMouseOut |
link, area |
onMouseOver |
link, area |
onSelect |
text, textarea |
onSubmit |
form |
onUnload |
window |
An
onAbort Event Handler executes
JavaScript code when the user aborts loading an image.
See Example:
<
HTML>
<
HEAD><
TITLE>Example
of
onAbort Event Handler</
TITLE></
HEAD>
<
BODY>
<
H3>Example of onAbort Event
Handler</
H3>
<
B>Stop the loading of this image and
see what happens:</
B><
P>
<
IMG SRC="object.gif"
onAbort="alert('You
stopped the loading the image!')">
</
BODY>
</
HTML>
Here, an
alert() method is called
using the
onAbort Event Handler when
the user aborts loading the image.
An
onBlur Event Handler executes
JavaScript code when input focus leaves the field of a text, textarea, or
a select option. For windows, frames and framesets the Event Handler
executes JavaScript code when the window loses focus. In windows you need
to specify the Event Handler in the <
BODY>
attribute. For example:
<BODY BGCOLOR='#ffffff'
onBlur="document.bgcolor='#000000'">
Note: On a Windows platform, the
onBlur
event does not work with <
FRAMESET>.
See Example:
<
HTML>
<
HEAD>
<
TITLE>Example of onBlur Event
Handler</
TITLE>
<
SCRIPT>
function
validate(value) {
if (value < 0)
alert("Please
input a value that is greater or equal to 0");
}
</
SCRIPT>
</
HEAD>
<
BODY>
<
H3> Example of
onBlur Event
Handler</
H3>
Try inputting a value less than zero:<
BR>
<
FORM>
<
INPUT TYPE="text"
onBlur="validate(this.value)">
</
FORM>
</
BODY>
</
HTML>
In this example, 'data' is a text field. When a user attempts to leave
the field, the
onBlur Event Handler
calls the
valid() function to confirm
that 'data' has a legal value. Note that the keyword
this is used
to refer to the current object.
The
onChange Event Handler executes
JavaScript code when input focus exits the field after the user modifies
its text.
See Example:
<
HTML>
<
HEAD>
<
TITLE>Example of onChange Event
Handler</
TITLE>
<
SCRIPT>
function
valid(input) {
alert("You
have changed the value from 10 to " + input);
}
</
SCRIPT>
</
HEAD>
<
BODY>
<
H3>Example of
onChange Event
Handler</
H3>
Try changing the value from 10 to something else:<
BR>
<
FORM>
<
INPUT TYPE="text"
VALUE="10"
onChange="valid(this.value)">
</
FORM>
</
BODY>
</
HTML>
In this example, 'data' is a text field. When a user attempts to leave
the field after a change of the original value, the
onChange
Event Handler calls the
valid()
function which alerts the user about value that has been inputted.
In an
onClick Event Handler,
JavaScript function is called when an object in a button (regular, radio,
reset and submit) is clicked, a link is pushed, a checkbox is checked or
an image map area is selected. Except for the regular button and the area,
the
onClick Event Handler can return
false
to cancel the action. For example:
<INPUT
TYPE="submit"
NAME="mysubmit"
VALUE="Submit"
onClick="return
confirm(`Are you sure you want to submit the form?')">
Note: On Windows platform, the
onClick
Event Handler does not work with reset buttons.
See Example:
<
HTML>
<
HEAD>
<
TITLE>Example of onClick Event
Handler</
TITLE>
<
SCRIPT>
function
valid(form) {
var input = form.data.value;
alert("Hello
" + input + " ! Welcome...");
}
</
SCRIPT>
</
HEAD>
<
BODY>
<
H3> Example of
onClick Event Handler
</
H3>
Click on the button after inputting your name into the text box:<
BR>
<
FORM>
<
INPUT TYPE="text"
NAME="data">
<
INPUT TYPE="button"
VALUE="Click Here"
onClick="valid(this.form)">
</
FORM>
</
BODY>
</
HTML>
In this example, when the user clicks the button "Click
Here", the
onClick Event Handler
calls the function
valid().
An
onError Event Handler executes
JavaScript code when an error occurs while loading a document or an image.
With
onError event now you can turn
off the standard JavaScript error messages and have your own function that
will trace all the errors in the script. To disable all the standard
JavaScript error messages, all you need to do is set window.onerror =
null. To call a function when an error occurs all you need to do is this:
onError
= "
myerrorfunction()".
See Example:
<
HTML>
<
HEAD>
<
TITLE>Example of onError Event
Handler</
TITLE>
<
SCRIPT>
window.onerror = ErrorSetting;
var e_msg = "";
var e_file = "";
var e_line = "";
document.form[8].value = "myButton";
//
This is the error
function
ErrorSetting(msg, file_loc,
line_no) {
e_msg = msg;
e_file = file_loc;
e_line = line_no;
return true;
}
function
display() {
var error_d = "Error in file:
" + e_file +
"\nline number:" + e_line +
"\nMessage:" + e_msg;
alert("Error
Window:\n" + error_d);
}
</
SCRIPT>
</
HEAD>
<
BODY>
<
H3> Example of
onError Event Handler
</
H3>
<
FORM>
<
INPUT TYPE="button"
VALUE="Show the error"
onClick="display()">
</
FORM>
</
BODY>
</
HTML>
Notice that the function
ErrorSetting()
takes three arguments: message text, URL and Line number of the error
line. So all we did was invoke the function when an error occurred and set
these values to three different variables. Finally, we displayed the
values via an alert method.
Note: If you set the function
ErrorSetting()
to
false, the standard dialog will be seen.
An
onFocus Event Handler executes
JavaScript code when input focus enters the field either by tabbing in or
by clicking but not selecting input from the field. For windows, frames
and framesets the Event Handler executes JavaScript code when the window
gets focused. In windows you need to specify the Event Handler in the <
BODY>
attribute. For example:
<BODY BGCOLOR="#ffffff"
onFocus="document.bgcolor='#000000'">
Note: On a Windows platform, the
onFocus Event
Handler does not work with <
FRAMESET>.
See Example:
<
HTML>
<
HEAD><
TITLE>Example
of onFocus Event Handler</
TITLE></
HEAD>
<
BODY>
<
H3>Example of
onFocus Event
Handler</
H3>
Click your mouse in the text box:<
BR>
<
FORM>
<
INPUT TYPE="text"
onFocus='alert("You
focused in the textbox!!")'>
</
FORM>
</
BODY>
</
HTML>
In the above example, when you put your mouse on the text box, an
alert()
message displays a message.
An
onLoad event occurs when a
window or image finishes loading. For windows, this Event Handler is
specified in the <
BODY> attribute of
the window. In an image, the Event Handler will execute handler text when
the image is loaded. For example:
<IMG SRC="images/object.gif"
NAME="jsobjects"
onLoad="alert('You
loaded myimage')">
See Example:
<
HTML>
<
HEAD>
<
TITLE>Example of onLoad Event
Handler</
TITLE>
<
SCRIPT>
function
hello() {
alert("Hello
there...\n\nThis is an example of onLoad.");
}
</
SCRIPT>
</
HEAD>
<
BODY onLoad="hello()">
<
H3>Example of
onLoad Event
Handler</
H3>
</
BODY>
</
HTML>
The example shows how the function
hello()
is called by using the
onLoad Event
Handler.
JavaScript code is called when the mouse leaves a specific link or an
object or area from outside that object or area. For area object the Event
Handler is specified with the <
AREA>
tag.
See Example:
<
HTML>
<
HEAD><
TITLE>
Example of onMouseOut Event Handler </
TITLE></
HEAD>
<
BODY>
<
H3> Example of
onMouseOut Event
Handler </
H3>
Put your mouse over
<
A HREF="javascript:void('');"
onMouseOut="window.status='You
left the link!'; return true;">
here
</
A>
and then take the mouse pointer away.
</
BODY>
</
HTML>
In the above example, after pointing your mouse and leaving the link ,
the text "You left the link!" appears on your window's status
bar.
JavaScript code is called when the mouse is placed over a specific link
or an object or area from outside that object or area. For area object the
Event Handler is specified with the <
AREA>
tag. For example:
<MAP
NAME="mymap">
<AREA NAME="FirstArea"
COORDS="0,0,49,25"
HREF="mylink.html"
onMouseOver="self.status='This
will take you to mylink.html'; return true">
</MAP>
See Example:
<
HTML>
<
HEAD><
TITLE>Example
of onMouseOver Event Handler</
TITLE></
HEAD>
<
BODY>
<
H3>Example of
onMouseOver Event
Handler</
H3>
Put your mouse over
<
A HREF="javascript:void('');"
onMouseOver="window.status='Hello!
How are you?'; return true;">
here
</
A>
and look at the status bar
(usually at the bottom of your browser window).
</
BODY>
</
HTML>
In the above example when you point your mouse to the link, the text
"Hello! How are you?" appears on your window's status bar.
A
onReset Event Handler executes
JavaScript code when the user resets a form by clicking on the reset
button.
See Example:
<
HTML>
<
HEAD><
TITLE>Example
of onReset Event Handler</
TITLE></
HEAD>
<
BODY>
<
H3> Example of
onReset Event Handler
</
H3>
Please type something in the text box and press the reset button:<
BR>
<
FORM onReset="alert('This
will reset the form!')">
<
INPUT TYPE="text">
<
INPUT TYPE="reset"
VALUE="Reset Form"
>
</
FORM>
</
BODY>
</
HTML>
In the above example, when you push the button, "Reset Form"
after typing something, the alert method displays the message, "This
will reset the form!"
A
onSelect Event Handler executes
JavaScript code when the user selects some of the text within a text or
textarea field.
See Example:
<
HTML>
<
HEAD><
TITLE>Example
of onSelect Event Handler</
TITLE></
HEAD>
<
BODY>
<
H3>Example of
onSelect Event
Handler</
H3>
Select the text from the text box:<br>
<
FORM>
<
INPUT TYPE="text"
VALUE="Select This"
onSelect="alert('This
is an example of onSelect!!')">
</
FORM>
</
BODY>
</
HTML>
In the above example, when you try to select the text or part of the
text, the alert method displays the message, "This is an example of
onSelect!!".
An
onSubmit Event Handler calls
JavaScript code when the form is submitted.
See Example:
<
HTML>
<
HEAD><
TITLE>
Example of onSubmit Event Handler </
TITLE></
HEAD>
<
BODY>
<
H3>Example of
onSubmit Event Handler
</
H3>
Type your name and press the button<
BR>
<
FORM NAME="myform"
onSubmit="alert('Thank
you ' + myform.data.value +'!')">
<
INPUT TYPE="text"
NAME="data">
<
INPUT TYPE="submit"
VALUE="Submit this form">
</
FORM>
</
BODY>
<
HTML>
In this example, the
onSubmit Event
Handler calls an
alert() function when
the button "Submit this form" is pressed.
An
onUnload Event Handler calls
JavaScript code when a document is exited.
See Example:
<
HTML>
<
HEAD><
TITLE>onUnLoad
Example</
TITLE>
<
SCRIPT>
function
goodbye() {
alert("Thanks
for Visiting!");
}
</
SCRIPT>
</
HEAD>
<
BODY onUnLoad="goodbye();">
<
H3>Example of
onUnload Event
Handler</
H3>
Look what happens when you try to leave this page...
</
BODY>
</
HTML>
In this example, the
onUnload Event
Handler calls the
Goodbye() function
as user exits a document.
NOTE: You can also call JavaScript code via explicit Event
Handler call. For example say you have a function called
myfunction().
You could call this function like this:
document.form.mybotton.onclick = myfunction
Notice that you don't need to put the () after the function and also the
Event Handler has to be spelled out in lowercase.