X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fevent.js;h=54705d10a25b5fccef5de7419d00da8cd2fe713e;hb=e216243a03d13d659f9811ef20ede3b213fd33f1;hp=c7e2f4f43560d5467d25e81579497139b25a3c9a;hpb=b2552e6ea35a1e00675d70a615d3af83137965df;p=jquery.git diff --git a/src/event.js b/src/event.js index c7e2f4f..54705d1 100644 --- a/src/event.js +++ b/src/event.js @@ -213,21 +213,17 @@ jQuery.event = { event.currentTarget = elem; - var fn = jQuery.isFunction( elem[ type ] ); - // Trigger the event, it is assumed that "handle" is a function var handle = jQuery.data(elem, "handle"); if ( handle ) 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 ) + if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) event.result = false; - // data.shift(); - // Trigger the native events (except for clicks on links) - if ( !bubbling && fn && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) { + if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) { this.triggered = true; try { elem[ type ](); @@ -567,7 +563,7 @@ function liveHandler( event ){ stop = true; jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){ - if ( check.test(fn.type) ) { + if ( !event.isImmediatePropagationStopped() && check.test(fn.type) ) { var elem = jQuery(event.target).closest(fn.data)[0]; if ( elem && fn.call(elem, event, fn.data) === false ) stop = false; @@ -577,7 +573,7 @@ function liveHandler( event ){ } function liveConvert(type, selector){ - return ["live", type, selector.replace(/\./g, "_")].join("."); + return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join("."); } jQuery.extend({