Thanks! That is exactly what I needed. I didn't think about the fact that the event target would give me the specific element even if the listener was higher up the propagation chain.
On Jan 25, 6:48 pm, Ricardo Tomasi <ricardob...@gmail.com> wrote: > Use event delegation, will give you better performance: > > $(document).mouseup(function(e){ > if (conditionsMet) > $(e.target).trigger('customevent', [customdata]); > > }); > > If you want to stick with binding all elements, try: > > $("*").mouseup(function(e) { > if (conditionsMet) > $(this).trigger('customevent', [customData]); > e.stopPropagation(); > > }); > > - ricardo > On Jan 25, 6:15 pm, Michael Bleigh <mble...@gmail.com> wrote: > > > I am trying to define a custom event that may or may not fire after a > > given mouseup event. I want it to be bindable to any element but now > > this is causing problems with jQuery 1.3 custom event propagation. My > > current implementation is something like this: > > > jQuery(function() { > > jQuery("*").mouseup(function() { > > if (conditionsMet) > > jQuery(this).trigger('customevent', [customData]); > > }); > > > }); > > > This works more or less as expected in 1.2.X, but in 1.3 it ends up > > triggering multiple times per click because if it triggers on a child, > > it is both propagating up to the parent and triggering independently > > on the parent (because of the '*' selector). > > > How can I write this in a way that it can bind to any element but > > prevent triggering for all parent elements during a single event with > > the exception of propagation? > > > Thanks for any help, > > Michael Bleigh