Thanks for the report, I'll definitely look in to it. --John
On Tue, Jan 20, 2009 at 2:18 AM, Walther <[email protected]> wrote: > > 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 -~----------~----~----~----~------~----~------~--~---
