Thanks, e.stopImmediatePropagation()  works fine. But e.stopPropagation
() and return false; doesn't.

Sorry John, I don't have example url available.

However I can post example code here:

<ul id="list">
<li id="item_1"><a href="#">Item 1</a></li>
<li id="item_2"><a href="#">Item 2</a></li>
<li id="item_3"><a href="#">Item 3</a></li>
<li id="item_4"><a href="#">Item 4</a></li>
</ul>

Script is:
$("#list li a").live('click', function(e) {
  e.stopPropagation();

 alert('a clicked');
});

$("#list li").live('click', function(e) {
 alert('li clicked');
});

If I change the e.stopPropagation() line to e.stopImmediatePropagation
() then it works fine, thanks Ariel. Could it be a bug, or just me
being stupid (I am good at being stupid)?

Walther.

On Jan 19, 8:43 pm, Ariel Flesler <[email protected]> wrote:
> $('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 Fleslerhttp://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
-~----------~----~----~----~------~----~------~--~---

Reply via email to