Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9160503
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T13:45:17+00:00 2026-06-17T13:45:17+00:00

Is there any way to delegate an event using jQuery that will correspond to

  • 0

Is there any way to delegate an event using jQuery that will correspond to all elements on the page that match the selector, other than delegating from $(document)?

Since that’s probably poorly worded, here’s the rub:

There used to be jQuery.live that delegated events to all elements that matched the selector. This was superseded by jQuery.delegate which delegated events within a specific context selector to its children, which in turn was superseded by jQuery.on, which does effectively the same thing, but with different bits behind the scenes (I’d imagine).

What I want to do, is safely add an event handler to every div.foo on my page, regardless of where it might live, or when it might live. According to the documentation, and empirical research, the following will only bind to .foo elements that exist when the script is run. Since there is code that might place a .foo element on the page later, this doesn’t exactly work.

jQuery('.foo').on('click', handler);

Since live is deprecated (possibly removed?), I’m trying to not use that, but the only solution I can come up with is

jQuery(document).on('click', '.foo', handler);

But isn’t this what live did originally, behind the scenes? More to the point, are there any significant reasons not to do this?

We’re specifically using version 1.7.2, but generic jQuery answers would help too.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-17T13:45:18+00:00Added an answer on June 17, 2026 at 1:45 pm

    The events bubble from their source, to whatever they’re delegated, so you should use jquery().on at what ever level is the lowest common parent. If that’s document, then so be it.

    Otherwise, if your .foo items are always created within a .foocontainer (or something) then you can use that in your selector, even if there is more than one of them – you just end up attaching.

    I think the issue with delegating back to document is that it potentially requires the event to bubble a large number of times, incurring extra overhead in the process, so best to delegate the event as close to the source as possible.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there any way that I can create a new delegate type based on
Is there any way I can set a formatter on models that will convert
Is there any way we can fetch X509 Public Cetrificates using c# from AD
Is there any way to get a delegate to run on a specific thread?
Curious how this could be done. Is there any way to create a delegate
Is there any way in Notepad++ (or even with another tool) to change the
Is there any way to use Google's API to retrieve a user's current zipcode
Is there any way to overload the > (greater than) operator, to be able
Is there any way to stop animation in iOS 3 ? I know about:
Is there any way to update nested documents by id or some other field?

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.