From: John Resig Date: Sat, 5 Dec 2009 04:18:05 +0000 (-0500) Subject: Retooled the native triggering code, simplifying it. X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=8d1efee3167deedd33bf7f6001823706659704ea;p=jquery.git Retooled the native triggering code, simplifying it. --- diff --git a/src/event.js b/src/event.js index acf363b..3e673d6 100644 --- a/src/event.js +++ b/src/event.js @@ -257,18 +257,20 @@ jQuery.event = { nativeHandler = elem[ "on" + type ]; // prevent IE from throwing an error for some elements with some event types, see #3533 } catch (e) {} - // Handle triggering native .onfoo handlers (and on links since we don't call .click() for links) - if ( (!nativeFn || (jQuery.nodeName(elem, 'a') && type === "click")) && nativeHandler && nativeHandler.apply( elem, data ) === false ) { - event.result = false; - } + + var isClick = jQuery.nodeName(elem, "a") && type === "click"; // Trigger the native events (except for clicks on links) - if ( !bubbling && nativeFn && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type === "click") ) { + if ( !bubbling && nativeFn && !event.isDefaultPrevented() && !isClick ) { this.triggered = true; try { nativeFn(); // prevent IE from throwing an error for some hidden elements } catch (e) {} + + // Handle triggering native .onfoo handlers + } else if ( nativeHandler && nativeHandler.apply( elem, data ) === false ) { + event.result = false; } this.triggered = false;