diff options
author | John Resig <jeresig@gmail.com> | 2009-12-04 23:18:05 -0500 |
---|---|---|
committer | John Resig <jeresig@gmail.com> | 2009-12-04 23:18:05 -0500 |
commit | 8d1efee3167deedd33bf7f6001823706659704ea (patch) | |
tree | db5ffe72619a083d2af90a551ae7d785c3f74d6f /src | |
parent | 25b0ba9f9612583033b902a0e40345463a3a71d0 (diff) | |
download | jquery-8d1efee3167deedd33bf7f6001823706659704ea.tar.gz jquery-8d1efee3167deedd33bf7f6001823706659704ea.zip |
Retooled the native triggering code, simplifying it.
Diffstat (limited to 'src')
-rw-r--r-- | src/event.js | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/event.js b/src/event.js index acf363b67..3e673d6b9 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; |