$('li a').live('click',function(e){
// do stuff with link clicked
});
$('li').live('click',function(e){
if( $(e.target).is('a') )
return;
// do stuff when li is clicked
});
Instead of the "if" within the second handler, you could do
e.stopImmediatePropagation() on the first.
Any of those should do.
--
Ariel Flesler
http://flesler.blogspot.com
On Jan 19, 8:21 am, Walther <[email protected]> wrote:
> I am having a issue with the live event functionality in jQuery 1.3.
>
> Basically, I have a list with various options in this form:
> <ul>
> <li><a href="something">Bla</a></li>
> .
> .
> .
> .
> </ul>
>
> I want to do something when the user clicks on the list item (it has a
> rather wide width), and I want to do something else when the user
> clicks on the link inside the list item. Since the list is going to be
> a dynamic list I need to use live events.
>
> However, when I use live events and click on the <a> tag, the event
> for the list item is also fired. I have tried putting return false;
> and event.stopPropagation(); into the event function, it doesn't work.
> However, when I use the normal bind() function (instead of live()) it
> works as intended(expect for it not being a live event which I want).
>
> I am guessing that I am doing something stupid that is preventing it
> from working, any help would be apprechiated.
>
> Regards
> Walther
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---