Skip to content

Commit

Permalink
Retooled the native triggering code, simplifying it.
Browse files Browse the repository at this point in the history
  • Loading branch information
jeresig committed Dec 5, 2009
1 parent 25b0ba9 commit 8d1efee
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/event.js
Expand Up @@ -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;
Expand Down

0 comments on commit 8d1efee

Please sign in to comment.