Thanks for the patches! I just landed a fix for this in SVN rev 6079. --John
On Sat, Jan 10, 2009 at 1:57 PM, Iraê <[email protected]> wrote: > I've figured out a test. > http://dev.jquery.com/attachment/ticket/3820/3820.unit.patch > Hope it's fine too. > > On Sat, Jan 10, 2009 at 12:46 AM, John Resig <[email protected]> wrote: >> >> Taking a quick look it seems like your patch is very nearly there. >> I'll take a look at it tomorrow and try to pull together a test case >> for it, as well. >> >> --John >> >> >> >> On Fri, Jan 9, 2009 at 10:28 PM, Iraê <[email protected]> wrote: >> > John, >> > You were absolutely right. This seams to be the problem. And I think I >> > solved it: >> > http://dev.jquery.com/ticket/3820 >> > patch: http://dev.jquery.com/attachment/ticket/3820/3820.patch >> > I don't know if this is clumsy or if this could add overhead or not. May >> > be >> > there is a good way to enhance it, but i think it's fine. >> > Here is an working test case with jquery 1.3b2 (6078) patched by me: >> > http://irae.pro.br/jquerytests/live.html.patched.html >> > I'm celebrating my first patch proposal to jQuery, hope it is accepted. >> > =) >> > On Fri, Jan 9, 2009 at 5:58 PM, John Resig <[email protected]> wrote: >> >> >> >> Here is what I think is happening: >> >> >> >> First click: Since there's only a text node inside of the link both >> >> callbacks work as expected - the target of the event is the anchor >> >> element. The one handler ends up modifying the contents with .html(). >> >> >> >> Second click: The first handler is run - but the target is the span, >> >> this time. You end up deleting the span while the event is still >> >> happening - stranding all the other events (they were targeted on an >> >> element that no longer exists). >> >> >> >> For example, if you used .text("Click me") instead of the html >> >> business then this would've worked. >> >> >> >> I don't really see a clear way to make this "just work". The target of >> >> the event was nuked while the event was still happening - we're kind >> >> of up the creek without a paddle on this one. >> >> >> >> I'm open to thoughts, but I don't see a clear way to resolve this - at >> >> least not before the final 1.3 release. >> >> >> >> Could you open a bug on this, at least? It'll be good to remember this >> >> issue. >> >> >> >> --John >> >> >> >> >> >> >> >> On Fri, Jan 9, 2009 at 9:34 AM, John Resig <[email protected]> wrote: >> >> > Thanks for the report, I'll look in to this. >> >> > >> >> > --John >> >> > >> >> > >> >> > >> >> > On Thu, Jan 8, 2009 at 10:45 PM, Iraê <[email protected]> wrote: >> >> >> I'm using 1.3b2 (6070) and found the following behavior. >> >> >> >> >> >> - using 2 .live() handlers for same link. >> >> >> - 1st handler always fire and modify the link with .html(string) >> >> >> - 2nd handler fire once, them stops firing. >> >> >> >> >> >> I've made a test case: >> >> >> http://irae.pro.br/jquerytests/live.html.html >> >> >> >> >> >> The weird thing is that after the manipulation, if you stop >> >> >> modifying >> >> >> the >> >> >> DOM (use toggle link in test case), both handlers fire again. >> >> >> >> >> >> I dug into jQuery source but was unable to solve the problem myself >> >> >> to >> >> >> present a patch. But I found out that if I use .wrapInner() instead >> >> >> of >> >> >> .html() everything works fine. To me it seems that .closest() used >> >> >> in >> >> >> liveHandler can't match the element for delegation during domManip >> >> >> for >> >> >> some >> >> >> reason, but this was as far as I could get. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> > >> > >> > > >> > >> >> > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---
