Skip to content
Permalink
Browse files

Added a fix for IE for binding events onto IFrame content.

  • Loading branch information
jeresig committed Jul 4, 2006
1 parent 8a97cd6 commit 0027439156fb97bef30f6084d85898ec5b16155f
Showing with 17 additions and 11 deletions.
  1. +17 −11 jquery/jquery.js
@@ -13,7 +13,7 @@
window.undefined = window.undefined;

// Map over the $ in case of overwrite
if ( $ ) var ._$ = $;
if ( $ ) var _$ = $;

/**
* Create a new jQuery Object
@@ -804,15 +804,20 @@ jQuery.event = {
},

handle: function(event) {
if ( !event && !window.event ) return;
// Handle adding events to items in IFrames, in IE
event = event ||
jQuery.event.fix( ((this.ownerDocument || this.document ||
this).parentWindow || window).event );

// If no correct event was found, fail
if ( !event ) return;

var returnValue = true, handlers = [];
event = event || jQuery.event.fix(window.event);

for ( var j in this.events[event.type] )
handlers[handlers.length] = this.events[event.type][j];

for ( var i = 0; i < handlers.length; i++ ) {
for ( var i = 0; i < handlers.length; i++ )
if ( handlers[i].constructor == Function ) {
this.handleEvent = handlers[i];
if (this.handleEvent(event) === false) {
@@ -821,18 +826,19 @@ jQuery.event = {
returnValue = false;
}
}
}
return returnValue;
},

fix: function(event) {
event.preventDefault = function() {
this.returnValue = false;
};
if ( event ) {
event.preventDefault = function() {
this.returnValue = false;
};

event.stopPropagation = function() {
this.cancelBubble = true;
};
event.stopPropagation = function() {
this.cancelBubble = true;
};
}

return event;
}

0 comments on commit 0027439

Please sign in to comment.
You can’t perform that action at this time.