Event Handling in jQuery

jQuery Events Handling

We have the ability to create dynamic web pages by using events. Events are actions that can be detected by your web application.

Following are the examples events :

A mouse click

A Web page loading

Taking mouse over an element

Submitting an HTML form

A keystroke on your keyboard

When these events are triggered you can then use a custom function to do pretty much whatever you want with the event. These custom functions call Event Handlers.

Binding Event Handlers

Using the jQuery Event Model, we can establish event handlers on DOM elements with the bind() method as follows:

$(‘div’).bind(‘click’,function(event)

{

alert(‘Hi there!’);

});

This code will cause the division element to respond to the click event; when a user clicks inside this division thereafter, the alert will be shown.

The full syntax of the bind() command is as follows:

selector.bind(evenType[, evenData], handler)

Following is the description of the parameters:

EvenType

A string containing a JavaScript event type, such as click or submit. Refer to the next section for a complete list of event types.

EventData

This is optional parameter is a map of data that will be passed to the event handler.

Handler

A function to execute each time the event is triggered.

 

Removing Event Handlers

Typically, once an event handler is established, it remains in effect for the remainder of the life of the page. There may be a need when you would like to remove event handler.

jQuery provides the unbind() command to remove an existing event handler. The syntax of unbind() is as follows :

selector.unbind(eventType, handler)

or

selector.unbind(eventType)

 

Following is the description of the parameters

eventType: 

  • A string containing a JavaScript listener that.s to be removed.

 

Event Types

The following are cross platform and recommended event types which you can bind using jQuery

Event Type                        Description
blurOccurs when the element loses focus
changeOccurs when the element changes
clickOccurs when a mouse click
dbclickoccurs when a mouse double-click
errorOccurs when there is an error in loading or unloading etc.
focusOccurs when the element gets focus.
keydownOccurs when key is pressed
keypressOccurs when key is pressed and released.
keyupOccurs when key is released
loadOccurs when document is loaded
mousedownOccurs when mouse button is pressed
mouseenterOccurs when mouse enters in an element region
mouseleaveOccurs when mouse leaves an element region
mousemoveOccurs when mouse pointer moves
mouseoutOccurs when mouse pointer moves out of an element
mouseoverOccurs when mouse pointer moves over an element
mouseupOccurs when mouse button is released
resizeOccurs when window is resized
scrollOccurs when window is scrolled
selectoccurs when a text is selected
submitOccurs when form is submitted
unloadOccurs when documents is unloaded

 

 

The Event Object

The callback function takes a single parameter, when the handler is called the JavaScript event object will be passed through it.

The event object is often unnecessary and the parameter is omitted, as sufficient context is usually available when the handler is bound to know exactly what needs to be done when the handler is triggered. However there are certail attributes which you would need to be accessed.

 

The Event Attributes

The following event properties/attributes are available and safe to access in a platform independent manner.

Property                            Description
altkeySet 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.
ctrlKeySet to true if the ctrl key was pressed when the event was triggered, false if not.
dataThe value, if any, passed as the second parameter to the blind() command when the handler was established.
keycodeFor keyup and keydown events, this returns the key that was pressed.
metakeySet 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.
pageXFor mouse events, specifies the horizontal coordinate of the event relative for the page origin
pageYFor mouse events, specifies the vertical coordinate of the event relative from the page origin.
relatedTargetFor some mouse events, identifies the element that the cursor left or entered when the event was triggered.
screenFor mouse events, specifies the horizontal coordinate of the event relative from the screen origin.
screen YFor mouse events, specifies the vertical coordinate of the event relative from the screen origin
shiftkeyset to true if the shift key was pressed when the event was triggered , false if not.
targetIdentifies the elment for which the event was triggered.
timestampThe timestamp(in milliseconds) when the event was created.
typeFor all events, specifies the type of event that was triggered(for example,click)
whichFor keyboard events, specifies the numeric code for the key that caused the event, and for mouse event, specifies which button was pressed (1 for left,2 for middle, 3 for right)

 

Event Helper Methods

jQuery also provides a set of event helper functions which can be used either to trigger an event to bind any event types mentioned above.

 

Trigger Methods

Following is an example which would triggers the blur event on all paragraphs:

$(“p”).blur();

 

Binding Methods in jQuery

Following is an example which would bind a click event on all the <div>:

$(“div”).click(function()) {

// do something here

{);

Here is a complete list of all the support methods provided by jQuery

 

MethodDescription
blur()Triggers the blur event of each matched element.
blur(fn)Bind a function to the blur event of each matched element.
change()Triggers the change event of each matched element.
change(fn)Binds a function to the change event of each matched element.
click()Triggers the click event of each matched element.
click(fn)Binds a function to the click event of each matched element.
dbclick()Triggers the dbclick event of each matched element.
error()Triggers the error event of each matched element.
error(fn)Binds a function to the error event of each matched element.
focus()Triggers the focus event of each matched element.
focus(fn)Binds a function to the focus event of each of each matched element
keydown()Triggers the keydown event of each matched element.
keydown(fn)Bind a function to the keydown event of each matched element.
Keypress()Triggers the keypress event of each matched element.
keypress(fn)Binds a function to the keypress event of each matched element.
keyup()Triggers the keyup event of each matched element.
keyup(fn)Bind a function to the keyup event of each matched element.
load(fn)Binds a function to the load event of each matched element.
mouseenter(fn)Bind a function to the mouseenter event of each matched element.
mouseleave(fn)Bind a function to the mouseleave event of each matched element.
mousemove(fn)Bind a function to the mousemove event of each matched element.
mouseout(fn)Bind a function to the mouseout event of each matched element
mouseover(fn)Bind a function to the mouseover event of each matched element.
mouseup(fn)Bind a function to the mouseup event of each matched element.
resize(fn)Bind a function to the resize event of each matched element.
scroll(fn)Bind a function to the scroll event of each matched element.
select()Trigger the select event of each matched element
select(fn)Bind a function to the select event of each matched element.
submit()Trigger the submit event of each matched element.
submit(fn)Bind a function to the submit event of each matched element
unload(fn)Binds a function to the unload event of each matched element.