Hello dear readers! Welcome back to another edition of our tutorial on jQuery. In this tutorial guide, we are going to be discussing about event handling in jQuery.
Using events, we have the ability to create dynamic webpages. Events are actions that can be detected by your web browser.
The following below are examples of events -
Using events, we have the ability to create dynamic webpages. Events are actions that can be detected by your web browser.
The following below are examples of events -
- A webpage loading
- A keystroke on the keyboard
- A mouse click
- HTML form submission
- Taking a mouse over an element
When these events are triggered, you can use a custom function to do whatever you want with the event. These custom functions are called the Event Handlers.
Binding Event Handlers
Using jQuery event model, we can establish event handlers on DoM elements with the bind() method.
Syntax
The following below is the syntax to use this method -
selector.bind( eventType[, eventData], handler )
Parameter Details
Following below is the description of all the parameters -
- eventType - A string which contains a JavaScript event type, such as click or submit.
- eventData - This optional parameter is a map of data that will be passed to the event handler.
- handler - This is a function to execute each time the event is triggered.
Example
Following below is an example on the usage of this method -
<html>
<head>
<title>jQuery Example</title>
<script type = "text/javascript"
src = "https//ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js">
</script>
<script type = "text/javascript">
$( document ).ready( function( ) {
$( 'div' ).bind( 'click', function( event ) {
alert( 'Hello World!' );
} );
} );
</script>
<style>
.div {
width: 60px; margin: 10px; padding: 10px; border: 3px solid #666;
}
</style>
</head>
<body>
<p>Click on any square to see result:</p>
<div class = "div" style = "background-color: yellow; ">Five</div>
<div class = "div" style = "background-color: blue;">Six</div>
<div class = "div" style = "background-color: purple;">Seven</div>
</body>
</html>
<head>
<title>jQuery Example</title>
<script type = "text/javascript"
src = "https//ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js">
</script>
<script type = "text/javascript">
$( document ).ready( function( ) {
$( 'div' ).bind( 'click', function( event ) {
alert( 'Hello World!' );
} );
} );
</script>
<style>
.div {
width: 60px; margin: 10px; padding: 10px; border: 3px solid #666;
}
</style>
</head>
<body>
<p>Click on any square to see result:</p>
<div class = "div" style = "background-color: yellow; ">Five</div>
<div class = "div" style = "background-color: blue;">Six</div>
<div class = "div" style = "background-color: purple;">Seven</div>
</body>
</html>
The above code is going to cause the division element to respond to the click event; when a user clicks inside this division thereafter, the alert will pop-up.
You can try the above code out to see the result for yourselves.
RECOMMENDED: Understanding DOM Manipulation Methods in jQuery
Removing Event Handlers
Typically once an event handler is established, it remains in effect as long as the page in which it was established on continues existing. There may be a need for the event handler to be removed.
jQuery makes available an unbind() command for removing an existing event handler.
jQuery makes available an unbind() command for removing an existing event handler.
Syntax
The following below is the syntax to use this method -
selector.unbind( eventType, handler )
or
selector.unbind( eventType )
or
selector.unbind( eventType )
Parameter Details
Following below is the description of all the parameters -
- eventType - This is the string which contains a JavaScript event type, such as click or submit.
- handler - If this is provided, it identifies the specific event that is to be removed.
Event Types
The following list below are the recommended event types which you can bind using jQuery -
Sr.No. | Event Type & Description |
---|---|
1 |
blur
Occurs when the element loses focus.
|
2 |
change
Occurs when the element changes.
|
3 |
click
Occurs when a mouse click.
|
4 |
dblclick
Occurs when a mouse double-click.
|
5 |
error
Occurs when there is an error in loading or unloading etc.
|
6 |
focus
Occurs when the element gets focus.
|
7 |
keydown
Occurs when key is pressed.
|
8 |
keypress
Occurs when key is pressed and released.
|
9 |
keyup
Occurs when key is released.
|
10 |
load
Occurs when document is loaded.
|
11 |
mousedown
Occurs when mouse button is pressed.
|
12 |
mouseenter
Occurs when mouse enters in an element region.
|
13 |
mouseleave
Occurs when mouse leaves an element region.
|
14 |
mousemove
Occurs when mouse pointer moves.
|
15 |
mouseout
Occurs when mouse pointer moves out of an element.
|
16 |
mouseover
Occurs when mouse pointer moves over an element.
|
17 |
mouseup
Occurs when mouse button is released.
|
18 |
resize
Occurs when window is resized.
|
19 |
scroll
Occurs when window is scrolled.
|
20 |
select
Occurs when a text is selected.
|
21 |
submit
Occurs when form is submitted.
|
22 |
unload
Occurs when documents is unloaded
|
RECOMMENDED : Introduction to jQuery DOM Manipulation
The Event Object
Callback function accepts a single parameter; when the handler is called, the JavaScript event object will be passed through it.
The jQuery event object is usually not necessary and the parameter is omitted, as sufficient context is usually available when the handler is bound to know what is needed to be done whenever the handler is triggered, however there are some attributes which you would need to access.
The jQuery event object is usually not necessary and the parameter is omitted, as sufficient context is usually available when the handler is bound to know what is needed to be done whenever the handler is triggered, however there are some attributes which you would need to access.
The Event Attributes
The following event attributes are available and safe to access in a platform independent way -
Sr.No. | Property & Description |
---|---|
1 |
altKey
Set to true if the Alt key was pressed when the event was triggered, false if not. The Alt key is labeled Option on most Mac keyboards.
|
2 |
ctrlKey
Set to true if the Ctrl key was pressed when the event was triggered, false if not.
|
3 |
data
The value, if any, passed as the second parameter to the bind() command when the handler was established.
|
4 |
keyCode
For keyup and keydown events, this returns the key that was pressed.
|
5 |
metaKey
Set to true if the Meta key was pressed when the event was triggered, false if not. The Meta key is the Ctrl key on PCs and the Command key on Macs.
|
6 |
pageX
For mouse events, specifies the horizontal coordinate of the event relative from the page origin.
|
7 |
pageY
For mouse events, specifies the vertical coordinate of the event relative from the page origin.
|
8 |
relatedTarget
For some mouse events, identifies the element that the cursor left or entered when the event was triggered.
|
9 |
screenX
For mouse events, specifies the horizontal coordinate of the event relative from the screen origin.
|
10 |
screenY
For mouse events, specifies the vertical coordinate of the event relative from the screen origin.
|
11 |
shiftKey
Set to true if the Shift key was pressed when the event was triggered, false if not.
|
12 |
target
Identifies the element for which the event was triggered.
|
13 |
timeStamp
The timestamp (in milliseconds) when the event was created.
|
14 |
type
For all events, specifies the type of event that was triggered (for example, click).
|
15 |
which
For keyboard events, specifies the numeric code for the key that caused the event, and for mouse events, specifies which button was pressed (1 for left, 2 for middle, 3 for right).
|
RECOMMENDED Post: jQuery DOM Traversing Methods with examples
<html>
<head>
<title>jQuery Example</title>
<script type = "text/javascript"
src = "https//ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js">
</script>
<script type = "text/javascript">
$( document ).ready( function( ) {
$( 'div' ).bind( 'click', function( event ) {
alert( 'Event type is' + event.type );
alert( 'pageX : ' + event.pageX );
alert( 'pageY : ' + event.pageY );
alert( 'Target : ' + event.target.innerHTML );
} );
} );
</script>
<style>
.div {
width: 60px; margin: 10px; padding: 10px; border: 3px solid #666;
}
</style>
</head>
<body>
<p>Click on any square to see result:</p>
<div class = "div" style = "background-color: yellow; ">Five</div>
<div class = "div" style = "background-color: blue;">Six</div>
<div class = "div" style = "background-color: purple;">Seven</div>
</body>
</html>
<head>
<title>jQuery Example</title>
<script type = "text/javascript"
src = "https//ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js">
</script>
<script type = "text/javascript">
$( document ).ready( function( ) {
$( 'div' ).bind( 'click', function( event ) {
alert( 'Event type is' + event.type );
alert( 'pageX : ' + event.pageX );
alert( 'pageY : ' + event.pageY );
alert( 'Target : ' + event.target.innerHTML );
} );
} );
</script>
<style>
.div {
width: 60px; margin: 10px; padding: 10px; border: 3px solid #666;
}
</style>
</head>
<body>
<p>Click on any square to see result:</p>
<div class = "div" style = "background-color: yellow; ">Five</div>
<div class = "div" style = "background-color: blue;">Six</div>
<div class = "div" style = "background-color: purple;">Seven</div>
</body>
</html>
You can try the above code out to see the result for yourselves.
Event Methods
Below is a list of methods which can be called on an Event Object -
Sr.No. | Method & Description |
---|---|
1 | preventDefault()
Prevents the browser from executing the default action.
|
2 | isDefaultPrevented()
Returns whether event.preventDefault() was ever called on this event object.
|
3 | stopPropagation()
Stops the bubbling of an event to parent elements, preventing any parent handlers from being notified of the event.
|
4 | isPropagationStopped()
Returns whether event.stopPropagation() was ever called on this event object.
|
5 | stopImmediatePropagation()
Stops the rest of the handlers from being executed.
|
6 | isImmediatePropagationStopped()
Returns whether event.stopImmediatePropagation() was ever called on this event object.
|
RECOMMENDED: The Practical Guide to jQuery Attribute Methods
The Event Manipulation Methods
Following table below lists down important event related methods -
Sr.No. | Method & Description |
---|---|
1 | bind( type, [data], fn )
Binds a handler to one or more events (like click) for each matched element. Can also bind custom events.
|
2 | off( events [, selector ] [, handler(eventObject) ] )
This does the opposite of live, it removes a bound live event.
|
3 | hover( over, out )
Simulates hovering for example moving the mouse on, and off, an object.
|
4 | on( events [, selector ] [, data ], handler )
Binds a handler to an event (like click) for all current − and future − matched element. Can also bind custom events.
|
5 | one( type, [data], fn )
Binds a handler to one or more events to be executed once for each matched element.
|
6 | ready( fn )
Binds a function to be executed whenever the DOM is ready to be traversed and manipulated.
|
7 | trigger( event, [data] )
Trigger an event on every matched element.
|
8 | triggerHandler( event, [data] )
Triggers all bound event handlers on an element.
|
9 | unbind( [type], [fn] )
This does the opposite of bind, it removes bound events from each of the matched elements.
|
Event Helper Methods
jQuery makes available a set of event helper functions that can be used either to trigger an event or bind any event type listed above.
The Trigger Methods
The following below is an example which will trigger the blur event on all paragraphs -
$( "p" ).blur( );
Binding Methods
Following is an example which will bind a click to all <div> -
$( "div" ).click( function( ) {
// Do some coding here
} );
// Do some coding here
} );
RECOMMENDED: Understanding jQuery Selectors with Proper examples
The following below is a complete list of the supported methods that are available in jQuery -
Sr.No. | Method & Description |
---|---|
1 |
blur( )
Triggers the blur event of each matched element.
|
2 |
blur( fn )
Bind a function to the blur event of each matched element.
|
3 |
change( )
Triggers the change event of each matched element.
|
4 |
change( fn )
Binds a function to the change event of each matched element.
|
5 |
click( )
Triggers the click event of each matched element.
|
6 |
click( fn )
Binds a function to the click event of each matched element.
|
7 |
dblclick( )
Triggers the dblclick event of each matched element.
|
8 |
dblclick( fn )
Binds a function to the dblclick event of each matched element.
|
9 |
error( )
Triggers the error event of each matched element.
|
10 |
error( fn )
Binds a function to the error event of each matched element.
|
11 |
focus( )
Triggers the focus event of each matched element.
|
12 |
focus( fn )
Binds a function to the focus event of each matched element.
|
13 |
keydown( )
Triggers the keydown event of each matched element.
|
14 |
keydown( fn )
Bind a function to the keydown event of each matched element.
|
15 |
keypress( )
Triggers the keypress event of each matched element.
|
16 |
keypress( fn )
Binds a function to the keypress event of each matched element.
|
17 |
keyup( )
Triggers the keyup event of each matched element.
|
18 |
keyup( fn )
Bind a function to the keyup event of each matched element.
|
19 |
load( fn )
Binds a function to the load event of each matched element.
|
20 |
mousedown( fn )
Binds a function to the mousedown event of each matched element.
|
21 |
mouseenter( fn )
Bind a function to the mouseenter event of each matched element.
|
22 |
mouseleave( fn )
Bind a function to the mouseleave event of each matched element.
|
23 |
mousemove( fn )
Bind a function to the mousemove event of each matched element.
|
24 |
mouseout( fn )
Bind a function to the mouseout event of each matched element.
|
25 |
mouseover( fn )
Bind a function to the mouseover event of each matched element.
|
26 |
mouseup( fn )
Bind a function to the mouseup event of each matched element.
|
27 |
resize( fn )
Bind a function to the resize event of each matched element.
|
28 |
scroll( fn )
Bind a function to the scroll event of each matched element.
|
29 |
select( )
Trigger the select event of each matched element.
|
30 |
select( fn )
Bind a function to the select event of each matched element.
|
31 |
submit( )
Trigger the submit event of each matched element.
|
32 |
submit( fn )
Bind a function to the submit event of each matched element.
|
33 |
unload( fn )
Binds a function to the unload event of each matched element.
|
Alright guys! We have come to the end of this tutorial on jQuery Event Handling. In our next tutorial, we will be demonstrating the usage of the above listed event methods.
Follow us on our various social media handles available and also subscribe to our newsletter to get our tutorial posts delivered directly to your emails.
Thanks for reading and bye for now.
Follow us on our various social media handles available and also subscribe to our newsletter to get our tutorial posts delivered directly to your emails.
Thanks for reading and bye for now.