8. jQuery Event handlers
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
- etc.
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!'); }); selector.bind( eventType[, eventData], handler)Following is the description of the parameters:
-
eventType: 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 exiting 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 event type, such
as click or submit. Refer to the next section for a complete list of
event types.
-
handler: If provided, identifies the specific 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 |
---|---|
blur | Occurs when the element loses focus |
change | Occurs when the element changes |
click | Occurs when a mouse click |
dblclick | Occurs when a mouse double-click |
error | Occurs when there is an error in loading or unloading etc. |
focus | Occurs when the element gets focus |
keydown | Occurs when key is pressed |
keypress | Occurs when key is pressed and released |
keyup | Occurs when key is released |
load | Occurs when document is loaded |
mousedown | Occurs when mouse button is pressed |
mouseenter | Occurs when mouse enters in an element region |
mouseleave | Occurs when mouse leaves an element region |
mousemove | Occurs when mouse pointer moves |
mouseout | Occurs when mouse pointer moves out of an element |
mouseover | Occurs when mouse pointer moves over an element |
mouseup | Occurs when mouse button is released |
resize | Occurs when window is resized |
scroll | Occurs when window is scrolled |
select | Occurs when a text is selected |
submit | Occurs when form is submitted |
unload | Occurs 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 unneccessary 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 |
---|---|
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. |
ctrlKey | Set to true if the Ctrl key was pressed when the event was triggered, false if not. |
data | The value, if any, passed as the second parameter to the bind() command when the handler was established. |
keyCode | For keyup and keydown events, this returns the key that was pressed. |
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. |
pageX | For mouse events, specifies the horizontal coordinate of the event relative from the page origin. |
pageY | For mouse events, specifies the vertical coordinate of the event relative from the page origin. |
relatedTarget | For some mouse events, identifies the element that the cursor left or entered when the event was triggered. |
screenX | For mouse events, specifies the horizontal coordinate of the event relative from the screen origin. |
screenY | For mouse events, specifies the vertical coordinate of the event relative from the screen origin. |
shiftKey | Set to true if the Shift key was pressed when the event was triggered, false if not. |
target | Identifies the element for which the event was triggered. |
timeStamp | The timestamp (in milliseconds) when the event was created. |
type | For all events, specifies the type of event that was triggered (for example, click). |
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) |
The Event Methods:
There is a list of methods which can be called on an Event Object:Method | Description |
---|---|
preventDefault() | Prevents the browser from executing the default action. |
isDefaultPrevented() | Returns whether event.preventDefault() was ever called on this event object. |
stopPropagation() | Stops the bubbling of an event to parent elements, preventing any parent handlers from being notified of the event. |
isPropagationStopped() | Returns whether event.stopPropagation() was ever called on this event object. |
stopImmediatePropagation() | Stops the rest of the handlers from being executed. |
isImmediatePropagationStopped() | Returns whether event.stopImmediatePropagation() was ever called on this event object. |