X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fevent.js;h=f2b01fef66e1d95379b862b9a8ca7670ef7ac934;hb=0a846e5be6e74d97c191379b3bc69c93125144ee;hp=74bc1df2986412f22b0a184a5347aa1810573f8a;hpb=4f99e793fa7a745ee49c73193891d6e2a40565c2;p=jquery.git diff --git a/src/event.js b/src/event.js index 74bc1df..f2b01fe 100644 --- a/src/event.js +++ b/src/event.js @@ -163,7 +163,7 @@ jQuery.event = { } }, - trigger: function( e, data, elem, donative, extra, dohandlers) { + trigger: function( e, data, elem, donative, extra) { // Event object or event type var type = e.type || e; @@ -207,16 +207,14 @@ jQuery.event = { var val, ret, fn = jQuery.isFunction( elem[ type ] ); - if ( dohandlers !== false ) { - // Trigger the event, it is assumed that "handle" is a function - var handle = jQuery.data(elem, "handle"); - if ( handle ) - val = handle.apply( elem, data ); + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery.data(elem, "handle"); + if ( handle ) + val = handle.apply( elem, data ); - // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) - if ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) - val = false; - } + // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) + if ( (!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) + val = false; if ( donative !== false && val !== false ) { var parent = elem.parentNode || elem.ownerDocument; @@ -551,14 +549,17 @@ jQuery.fn.extend({ }); function liveHandler( event ){ - var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"); + var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"), + stop = true; + jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){ if ( check.test(fn.type) ) { var elem = jQuery(event.target).closest(fn.data)[0]; - if ( elem ) - jQuery.event.trigger( event.type, fn.data, elem, false, fn, false ); + if ( elem && fn.call(elem, event, fn.data) === false ) + stop = false; } }); + return stop; } function liveConvert(type, selector){