Side navigation
Ticket #935: jquery_bug935.patch
File jquery_bug935.patch, 1.1 KB (added by jesse, April 17, 2007 01:28PM UTC)
Patch to fix Event data from being global
Index: event.js
===================================================================
--- event.js (revision 1722)
+++ event.js (working copy)
@@ -13,14 +13,28 @@
if ( jQuery.browser.msie && element.setInterval != undefined )
element = window;
- // if data is passed, bind to handler
- if( data )
- handler.data = data;
-
// Make sure that the function being executed has a unique ID
if ( !handler.guid )
handler.guid = this.guid++;
+ // if data is passed, bind to handler
+ if( data != undefined ) {
+ // Create temporary function pointer to original handler
+ var fn = handler;
+
+ // Create unique handler function, wrapped around original handler
+ handler = function() {
+ // Pass arguments and context to original handler
+ return fn.apply(this, arguments);
+ };
+
+ // Store data in unique handler
+ handler.data = data;
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ handler.guid = fn.guid;
+ }
+
// Init the element's event structure
if (!element.$events)
element.$events = {};
Download in other formats:
Original Format
File jquery_bug935.patch, 1.1 KB (added by jesse, April 17, 2007 01:28PM UTC)
Patch to fix Event data from being global
Index: event.js
===================================================================
--- event.js (revision 1722)
+++ event.js (working copy)
@@ -13,14 +13,28 @@
if ( jQuery.browser.msie && element.setInterval != undefined )
element = window;
- // if data is passed, bind to handler
- if( data )
- handler.data = data;
-
// Make sure that the function being executed has a unique ID
if ( !handler.guid )
handler.guid = this.guid++;
+ // if data is passed, bind to handler
+ if( data != undefined ) {
+ // Create temporary function pointer to original handler
+ var fn = handler;
+
+ // Create unique handler function, wrapped around original handler
+ handler = function() {
+ // Pass arguments and context to original handler
+ return fn.apply(this, arguments);
+ };
+
+ // Store data in unique handler
+ handler.data = data;
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ handler.guid = fn.guid;
+ }
+
// Init the element's event structure
if (!element.$events)
element.$events = {};