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
-~----------~----~----~----~------~----~------~--~---

Reply via email to