Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Using the jQuery event object

From: jQuery Essential Training

Video: Using the jQuery event object

As I mentioned earlier one of the frustrating things about writing event handling code is that there is a lot of differences among the IE browsers and the browsers that use the DOM Event Model. One of the big differences is in the way the event objects are implemented in both browsers. The IE Event Object and the DOM Event Object have a couple of properties that intersect, but for the most part they are pretty different. jQuery helps solve this problem by smoothing these differences out and providing a single event object with the most important properties that you will use commonly.

Using the jQuery event object

As I mentioned earlier one of the frustrating things about writing event handling code is that there is a lot of differences among the IE browsers and the browsers that use the DOM Event Model. One of the big differences is in the way the event objects are implemented in both browsers. The IE Event Object and the DOM Event Object have a couple of properties that intersect, but for the most part they are pretty different. jQuery helps solve this problem by smoothing these differences out and providing a single event object with the most important properties that you will use commonly.

You can see that here in the table. Now, I haven't listed all of the properties and methods because some of them are kind of advanced and esoteric. What I've done is listed the most common ones. So just taking a look at the properties available. The type property is essentially the type of the event that the event object is representing. So it'll be a string representing the event name, click for example, or mouse down or whatever. The target property is the element that issued the event. So looking at the event object, you can figure out which element in the page the event came from.

The data property is optional. If you passed any data parameter to the bind function, this property here will contain that value. The pageX and pageY properties are the coordinates of the mouse when the event happened. That's document relative. The result property is the value that was returned by the last event handler function, as long as the return was not undefined. Then the return value will be contained in here.

The timestamp is in milliseconds and that's the time when the event occurred. So, those are the most common properties. There is a couple of functions that you might want to use as well. The preventDefault() function prevents the browser from executing whatever the default action for the event is. So this essentially stops the event from causing whatever the browser would normally do with it. So for example following a link. The isDefaultPrevented() function will return whether the preventDefault() function was ever called on this event object.

So to see if that was ever prevented you can check this function. And stopPropogation() stops the bubbling of an event up to the parent elements. Now, it's beyond the scope of this title to explain event bubbling. But if you are familiar with the DOM level 2, what happens is when an event happens in a child element, and this isn't true of all events, but it's true mostly for mouse events. When an event happens, if the element that it happens on does not handle the event, it will then bubble up, like a bubble in liquid, to the elements above it.

You can stop that from happening by calling stopPropogation(). It will simply stop the element right in its tracks. And then similarly, for preventDefault(). If you call isPropogationStopped(), you can see if stopPropogation() was ever called on this particular event object. So let's jump over to the code and take a look at using the event object in an example. So here is the file. You can see we've got three divs.

And what I'm going to do is in source code, I'm going to write some code that's going to respond to an event and set some information inside each one of the divs. So, here I've got my jQuery already installed, so I am kind of writing the script. When the page loads, what I'm going to do is setup some event handlers on each one of the divs. So I'm going to write a quick query to get all the divs and assign event handlers to them.

So for the click function, I'm going to write a little anonymous function that takes the event object. And what we are going to do is just inside the div that was clicked, we're going to set the HTML content to be the contents of some interesting parts of the event object. So, for example well just say, let's see, pageX was and that will be evt.pageX + pageY, and that will be evt.pageY +, and we'll get the type of the event.

The type will be evt.type +, and that will be the target, + evt.target. And I think that probably pretty much about covers what we're going to put on there. Okay. Let's try that. We'll save.

Now, let's jump on over to the browser. So now I'm going to bring this up in the browser. You can see that as I'm clicking on each one of the divs, the event is happening, and you can see that the mouse position is being updated each time. Okay. Let's see if this works cross browser the way it's supposed to. Okay, so now I'm going to bring this up in Firefox. Okay.

All right, there is the Firefox browser. Yup, you can see that it's working just exactly the same way. So we were able to really easily write some cross browser handling code that uses the unified event object to get information about events that happen. So that's the event object. Let's move on to our next example.

Show transcript

This video is part of

Image for jQuery Essential Training
jQuery Essential Training

49 video lessons · 98801 viewers

Joe Marini
Author

 
Expand all | Collapse all
  1. 2m 52s
    1. Welcome
      1m 9s
    2. Using the exercise files
      1m 43s
  2. 17m 37s
    1. What is jQuery?
      5m 19s
    2. Downloading and installing jQuery
      2m 20s
    3. Creating a simple jQuery-enabled page
      7m 12s
    4. Overview of features in jQuery
      2m 46s
  3. 59m 57s
    1. Overview of selectors and filters
      2m 9s
    2. Using basic jQuery selectors
      9m 6s
    3. Using basic jQuery filters
      8m 35s
    4. Using jQuery attribute filters
      6m 7s
    5. Child, visibility, and content filters
      9m 59s
    6. Form selectors and filters
      9m 3s
    7. Traversing documents
      9m 1s
    8. Understanding jQuery statement chaining
      1m 42s
    9. Practical example 1: Annotating page links
      4m 15s
  4. 47m 16s
    1. Creating, getting, and setting content
      5m 53s
    2. Manipulating attributes
      5m 43s
    3. Inserting content
      4m 57s
    4. Wrapping, replacing, and removing content
      5m 27s
    5. Working with CSS
      6m 19s
    6. Associating data with page elements
      9m 30s
    7. Practical example 2: Automatic TOC generator
      9m 27s
  5. 33m 6s
    1. Understanding the jQuery event handling features
      2m 4s
    2. Binding and unbinding events
      6m 23s
    3. Convenient event helper methods
      4m 40s
    4. Using the jQuery event object
      6m 21s
    5. Using miscellaneous event features
      4m 38s
    6. Practical example 3: Table striping and highlighting
      9m 0s
  6. 28m 45s
    1. Hiding and showing elements
      5m 23s
    2. Fading elements in and out
      4m 2s
    3. Sliding elements
      4m 3s
    4. Creating custom animations
      5m 58s
    5. Practical example 4: Image rotator
      9m 19s
  7. 25m 30s
    1. Introduction to jQuery UI
      3m 40s
    2. Exploring the jQuery UI widgets
      5m 24s
    3. Exploring the jQuery UI effects
      3m 58s
    4. Using the jQuery UI ThemeRoller
      4m 11s
    5. Downloading and installing jQuery UI
      8m 17s
  8. 47m 49s
    1. Overview of the sample web site
      3m 50s
    2. Using the accordion widget
      9m 14s
    3. Creating an image rotator
      10m 22s
    4. Building hover tooltips
      7m 26s
    5. Making an image selector
      9m 30s
    6. Using the Resizable effect
      7m 27s
  9. 30m 2s
    1. Working with Asynchronous JavaScript and XML (AJAX)
      10m 8s
    2. Using AJAX helpers
      4m 34s
    3. Understanding AJAX data types
      10m 14s
    4. Using global AJAX event handlers
      5m 6s
  10. 20s
    1. Goodbye
      20s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed jQuery Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.