Skip to content

Commit

Permalink
Remove oldIE proprietary event methods/properties.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmethvin committed Dec 26, 2012
1 parent 1c42978 commit 97fa97f
Showing 1 changed file with 9 additions and 43 deletions.
52 changes: 9 additions & 43 deletions src/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,10 @@ jQuery.event = {
handlers = events[ type ] = [];
handlers.delegateCount = 0;

// Only use addEventListener/attachEvent if the special events handler returns false
// Only use addEventListener if the special events handler returns false
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
// Bind the global event handler to the element
if ( elem.addEventListener ) {
elem.addEventListener( type, eventHandle, false );

} else if ( elem.attachEvent ) {
elem.attachEvent( "on" + type, eventHandle );
}
}
}
Expand Down Expand Up @@ -580,26 +576,11 @@ jQuery.event = {
// The 1.7 special event interface should provide all the hooks needed now.
jQuery.event.handle = jQuery.event.dispatch;

jQuery.removeEvent = document.removeEventListener ?
function( elem, type, handle ) {
if ( elem.removeEventListener ) {
elem.removeEventListener( type, handle, false );
}
} :
function( elem, type, handle ) {
var name = "on" + type;

if ( elem.detachEvent ) {

// #8545, #7054, preventing memory leaks for custom events in IE6-8
// detachEvent needed property on element, by name of that event, to properly expose it to GC
if ( typeof elem[ name ] === "undefined" ) {
elem[ name ] = null;
}

elem.detachEvent( name, handle );
}
};
jQuery.removeEvent = function( elem, type, handle ) {
if ( elem.removeEventListener ) {
elem.removeEventListener( type, handle, false );
}
};

jQuery.Event = function( src, props ) {
// Allow instantiation without the 'new' keyword
Expand All @@ -614,7 +595,7 @@ jQuery.Event = function( src, props ) {

// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
this.isDefaultPrevented = ( src.defaultPrevented ||
src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;

// Event type
Expand Down Expand Up @@ -648,32 +629,17 @@ jQuery.Event.prototype = {
this.isDefaultPrevented = returnTrue;

var e = this.originalEvent;
if ( !e ) {
return;
}

// if preventDefault exists run it on the original event
if ( e.preventDefault ) {
if ( e && e.preventDefault ) {
e.preventDefault();

// otherwise set the returnValue property of the original event to false (IE)
} else {
e.returnValue = false;
}
},
stopPropagation: function() {
this.isPropagationStopped = returnTrue;

var e = this.originalEvent;
if ( !e ) {
return;
}
// if stopPropagation exists run it on the original event
if ( e.stopPropagation ) {
if ( e && e.stopPropagation ) {
e.stopPropagation();
}
// otherwise set the cancelBubble property of the original event to true (IE)
e.cancelBubble = true;
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = returnTrue;
Expand Down

0 comments on commit 97fa97f

Please sign in to comment.