Side navigation
Ticket #5124: event.diff
File event.diff, 1.6 KB (added by mike.helgeson, August 25, 2009 05:28PM UTC)
--- C:\Documents and Settings\mhelgeson\Desktop\CODE\jquery\src\event.js Tue Aug 25 13:18:56 2009
+++ C:\Temp\event.js Tue Aug 25 13:16:43 2009
@@ -247,24 +247,32 @@
handle.apply( elem, data );
}
- var nativeFn, nativeHandler;
+ var aclick = ( jQuery.nodeName(elem, 'a') && type === "click" ),
+ nativeFn, nativeHandler = function(){
+ try {
+ if ( elem[ "on" + type ] )
+ return elem[ "on" + type ].apply( elem, data );
+ }
+ // catch some IE issues
+ catch( ex ){ }
+ };
try {
- nativeFn = elem[ type ];
- nativeHandler = elem[ "on" + type ];
+ nativeFn = !!elem[ type ] ? function(){
+ try {
+ elem[ type ]();
+ } catch(e) {}
+ } : null;
// 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 ) {
+ if ( (!nativeFn || aclick) && nativeHandler() === false ) {
event.result = false;
}
// 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() && !aclick ) {
this.triggered = true;
- try {
- nativeFn();
- // prevent IE from throwing an error for some hidden elements
- } catch (e) {}
+ nativeFn();
}
this.triggered = false;
Download in other formats:
Original Format
File event.diff, 1.6 KB (added by mike.helgeson, August 25, 2009 05:28PM UTC)
--- C:\Documents and Settings\mhelgeson\Desktop\CODE\jquery\src\event.js Tue Aug 25 13:18:56 2009
+++ C:\Temp\event.js Tue Aug 25 13:16:43 2009
@@ -247,24 +247,32 @@
handle.apply( elem, data );
}
- var nativeFn, nativeHandler;
+ var aclick = ( jQuery.nodeName(elem, 'a') && type === "click" ),
+ nativeFn, nativeHandler = function(){
+ try {
+ if ( elem[ "on" + type ] )
+ return elem[ "on" + type ].apply( elem, data );
+ }
+ // catch some IE issues
+ catch( ex ){ }
+ };
try {
- nativeFn = elem[ type ];
- nativeHandler = elem[ "on" + type ];
+ nativeFn = !!elem[ type ] ? function(){
+ try {
+ elem[ type ]();
+ } catch(e) {}
+ } : null;
// 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 ) {
+ if ( (!nativeFn || aclick) && nativeHandler() === false ) {
event.result = false;
}
// 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() && !aclick ) {
this.triggered = true;
- try {
- nativeFn();
- // prevent IE from throwing an error for some hidden elements
- } catch (e) {}
+ nativeFn();
}
this.triggered = false;