X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=08deb8b2985e13579a55be98e8097c2f68199576;hb=b1018cad1256a7b9cc47e675b2a9e22c409b7aed;hp=1ba0357d2252760091d6310bcade548de394a9d9;hpb=29bf601f3495ced43fbb6152bf9306f2618bb955;p=jquery.git diff --git a/src/event.js b/src/event.js index 1ba0357..08deb8b 100644 --- a/src/event.js +++ b/src/event.js @@ -560,15 +560,23 @@ jQuery.fn.extend({ function liveHandler( event ){ var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"), - stop = true; + stop = true, + elems = []; jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){ - if ( !event.isImmediatePropagationStopped() && check.test(fn.type) ) { + if ( check.test(fn.type) ) { var elem = jQuery(event.target).closest(fn.data)[0]; - if ( elem && fn.call(elem, event, fn.data) === false ) - stop = false; + if ( elem ) + elems.push({ elem: elem, fn: fn }); } }); + + jQuery.each(elems, function(){ + if ( !event.isImmediatePropagationStopped() && + this.fn.call(this.elem, event, this.fn.data) === false ) + stop = false; + }); + return stop; }