jQuery – Events
As well as being able to change the class associated with an element or a set of elements on a screen, jQuery also allows you to fire events. You might want to do this, for example, if you want to simulate the clicking of a button.
Of course, if you are going to fire an event, you’ll probably need some sort of event listener setup to handle that.
We will address firing events first since it has the least amount of code needed.
All you need to do is select the element or elements using the selectors we’ve already discussed and then call the method trigger(‘eventname’).
So, to click a button, your code might look something like this:
$("#main").trigger('click');
Since the click method is so common, jQuery has a shortcut method, click(), that does the same thing, so we can rewrite our code as:
$("#main").click();
But if we click a button, we probably want some JavaScript to execute because of it. This is where jQuery makes life much easier for the JavaScript programmer.
If you are familiar with JavaScript you are probably most familiar with attaching code to your HTML elements by using the on____ attributes. To attach a method to the click event of the anchor tag you might write something like:
<a href="#" onclick="method();" >text</a>
If you were particularly clever, you might do some sort of event binding using code:
document.getElementById('anchorId').onclick = functionName;
But even doing that we are left with the ugly potential of having already assigned a function to the element, in which case this code would overwrite it.
In fact, if you’ve been coding JavaScript for a while, you are probably quite familiar with the problem of needing to add an event handler to the onload event of the document only to find out that doing so wiped out some critical JavaScript code that was already assigned to that event.
You’ll be happy to know that assigning code to an event in jQuery is both simple and non-destructive.
$('#anchorId').bind('click',function() { //code goes here })
This code would normally be placed inside the ready handler that you’ve seen in previous posts so that your code would ultimately look something like this:
$(function() { $('#anchorId').bind('click', function() { //code goes here }) });
And since the click event is so common, we can replace bind(‘click’,function…) with click(function()….)
$(function() { $('#anchorId').click( function() { //code goes here }) });
And if someone decides to attach another method to the same click event, both methods will run.
Other post in jQuery
- jQuery - The Man, The Myth, The Legend - October 8th, 2008
- Getting started with jQuery and ASP.NET - October 15th, 2008
- jQuery - Explaining Last Week's Code - October 21st, 2008
- Friday Books - "Learning jQuery" - October 24th, 2008
- jQuery Simple Selectors - October 28th, 2008
- Friday Books - "jQuery in Action" - October 31st, 2008
- jQuery Selectors - Looks just like CSS - November 6th, 2008
- VS2008 SP1 Hotfix to Support "-vsdoc.js" IntelliSense Doc Files - November 11th, 2008
- jQuery Looks like XPath - November 12th, 2008
- jQuery - class manipulation - November 19th, 2008
- jQuery - Events - December 2nd, 2008
- Host jQuery at Google (with Intellisense support) - December 10th, 2008
- jQuery - Calling Your Own Functions - December 16th, 2008
- Friday Books - jQuery Reference Guide - December 19th, 2008
- jQuery - Creating Plug-ins - December 23rd, 2008
- jQuery - Loading Partial Content - December 30th, 2008
- jQuery - Positioning Elements - January 6th, 2009
- AjaxToolKit TabControl Disabled Tab - January 12th, 2009
- jQuery, JSON, and ASP.NET - January 15th, 2009
- Review of the MDC at NYC - January 21st, 2009
- jQuery - Retrieving HTML Fragments - January 22nd, 2009
- jQuery GUI - Drag - February 3rd, 2009
- jQuery - Drop - February 12th, 2009
- jQuery UI - Resizable w/ ASP.NET Themes - February 18th, 2009
- jQuery, bgiframe and IE6 z-order hacks - February 19th, 2009
- jQuery - Sliders (scrollbars to the rest of us) - March 4th, 2009
- jQuery - Using Slider as a Scrollbar - March 12th, 2009
- jQuery - Auto Scrolling the Slider - March 23rd, 2009
- Live Presentation of jQuery - March 23rd, 2009
- Just a Week Away! - April 7th, 2009
- jQuery Tabs - April 9th, 2009
- jQuery Demos From Last Tuesday’s Presentation - April 16th, 2009
- jQuery – Accordion - May 6th, 2009
- CustomValidationControl and jQuery - May 11th, 2009
- Mixing ASP.NET, jQuery and JSON - May 12th, 2009
- jQuery Progressbar - May 20th, 2009
- jQuery – Dialog - June 2nd, 2009
- jQuery – Modal Dialog - June 9th, 2009
- Does jQuery Make Us Lazy? - June 18th, 2009
- jQuery Dialog – With Validation Controls - June 25th, 2009
- jQuery – Date Picker - July 2nd, 2009
- jQuery Splitter - July 21st, 2009
- jQuery Expand/Collapse Using Head Tags - October 15th, 2009
- Do you Need My Help? - November 18th, 2009
- Flash to jQuery - November 30th, 2009
- JQuery, Cufon, and Dynamic Content - December 1st, 2009
- jQuery, Each() and Async Gets - December 2nd, 2009
- jQuery and ASP.NET UpdatePanel - January 6th, 2010
- jQuery 1.4 Released - January 15th, 2010
Other Related Items:
Teva Women's Aniso Event Waterproof Breathable Trail ShoeLightweight, comfortable and highly breathable, the Aniso eVent(r) is perfect for fast paced off-road endeavors in variable weather.
Super Soft Luxury Cashmere Feel Fringe Scarf - (Choose from 33 fashion colors / patterns)Experience the soft luxurious feel of cashmere feel fashion neckwear. Get the look and feel of high end scarves at an affordable price. Choose from ou... Read More >
American Conspiracies: Lies, Lies, and More Dirty Lies that the Government Tells UsJesse Ventura tells it like it is, and this time he tackles our governmentâs biggest secrets. In this explosive account of wrongful acts and on-... Read More >










[...] jQuery – Events (Dave M. Bush) [...]
[...] Dave Bush on jQuery – Events [...]