Opened 14 years ago
Closed 14 years ago
#5595 closed bug (worksforme)
Live Event Binds Ignore Context
Reported by: | chrismjohnson | Owned by: | brandon |
---|---|---|---|
Priority: | minor | Milestone: | 1.4 |
Component: | event | Version: | 1.3.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Using the live event bind (.live) on a jQuery collection resulting from a .find, the event is bound to the selector of the .find with no regard for the parent collection of the .find.
The livequery plugin appears to respect the context properly.
Examples attached.
Attachments (1)
Change History (3)
Changed 14 years ago by
Attachment: | live_event_bug.zip added |
---|
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
This has already been resolved in jQuery 1.4.
Note: See
TracTickets for help on using
tickets.
If you read the documentation http://docs.jquery.com/Events/live it says Live events currently only work when used against a selector as in $('.dropdown li').live(...) and not $(elem).find("li").live(...).
To fix you will find that in your function outside of the each loop this refers to $('.dropdown') and not an element so you can call your this.find('li').live('click', ...) method there and it should work since it's equivalent to $(this.selector + ' li').live(...).
I'm surprised livequery works but if you try a more obvious example like:
$($(".dropdown")[0]).find("body li").livequery("click", function() { alert(this); });
Then it fails in livequery just like it does in jQuery in your example.